Signalr 决定要连接到哪个信号集线器
我对决定连接哪个集线器或不使用信号器的规则感到困惑Signalr 决定要连接到哪个信号集线器,signalr,signalr-hub,Signalr,Signalr Hub,我对决定连接哪个集线器或不使用信号器的规则感到困惑 在javascript中,如果我编写$.connection.hub.start(),并说我有两个集线器(hub1和hub2),那么哪个集线器连接?或者两者都已连接?两者都将连接。如果您查看文档: 您可以在一个应用程序中定义多个中心类。执行此操作时,连接是共享的,但组是分开的: 所有客户端都将使用相同的URL与您的服务建立信号器连接(“/signal”或您的自定义URL,如果您指定了一个),该连接将用于服务定义的所有集线器 与在单个类中定义
在javascript中,如果我编写
$.connection.hub.start()
,并说我有两个集线器(hub1和hub2),那么哪个集线器连接?或者两者都已连接?两者都将连接。如果您查看文档:
- 您可以在一个应用程序中定义多个中心类。执行此操作时,连接是共享的,但组是分开的:
- 所有集线器都获得相同的HTTP请求信息
我在《客户端js指南》中找到了以下内容。“集线器代理上的客户端方法的存在是通知Signal触发OnConnected事件的原因” 注意:通常在调用start方法建立连接之前注册事件处理程序。如果要在建立连接后注册某些事件处理程序,可以这样做,但必须在调用start方法之前注册至少一个事件处理程序。这样做的一个原因是,一个应用程序中可能有许多集线器,但如果您只想使用其中一个集线器,则不希望在每个集线器上触发OnConnect事件。当建立连接时,集线器代理上的客户端方法的存在会告诉SignalR触发OnConnected事件。如果在调用start方法之前未注册任何事件处理程序,则可以调用Hub上的方法,但不会调用Hub的OnConnected方法,也不会从服务器调用任何客户端方法