谁能告诉我信号发送器服务器在何处呼叫集线器?在下面找到我的代码。到底RunServ如何知道我的集线器主服务器“ Main”从服务器对其进行的调用在哪里。一切正常。我已经检查过将集线器的名称更改为“ Whatever”,然后收到错误消息,表明服务器对该位置有引用。在哪里?
Module RunServ
Private SignalR As IDisposable
Private Const Address As String = "http://+:4848/"
Sub Main()
Task.Run(Sub() StartServer()).Wait()
Console.ReadLine()
End Sub
Private Sub StartServer()
Try
SignalR = WebApp.Start(Of Startup)(Address)
Console.WriteLine("Server is running")
Catch generatedExceptionName As TargetInvocationException
Console.WriteLine("Server error")
End Try
End Sub
Private Sub StopServer()
SignalR.Dispose()
End Sub
End Module
Public Class Startup
'This simply enables the hub to communicate cross-domain, and correctly maps all the SignalR hubs in the application for us.
Public Sub Configuration(app As IAppBuilder)
Dim hubConfiguration = New HubConfiguration()
hubConfiguration.EnableDetailedErrors = True
app.UseCors(CorsOptions.AllowAll)
app.MapSignalR(hubConfiguration)
End Sub
End Class
<HubName("Main")>
Public Class HubMain
Inherits Hub '(Of IHubMain)
Public Overrides Function OnConnected() As Task
Clients.All.userJoined("anonymous")
Console.WriteLine("Connected connection id: " + Context.ConnectionId)
Return MyBase.OnConnected()
End Function
Public Overrides Function OnReconnected() As Task
Console.WriteLine("Reconnected connection id: " + Context.ConnectionId)
Return MyBase.OnReconnected()
End Function
...
End Class
答案 0 :(得分:0)
基本上,您具有服务器应用程序,用于侦听客户端的请求。在服务器端,您具有称为集线器的类,该类表示应从客户端调用的功能。然后,您将拥有一个客户端,该客户端创建IHubProxy的实例,并调用服务器端应存在的由字符串(其名称)指定的方法。与WCF相比,它非常简单易用。