我的客户代码如下。我有一个信号器路由和集线器连接名称。我能够连接到集线器并获取事件。现在,我需要连接到同一路线的另一个集线器以获得更多事件。
this.hubConnection = this.window.$.hubConnection();
this.hubConnection.url = this.apiUrl + "api/signalr";
this.hubProxy = this.hubConnection.createHubProxy("Event1Hub");
this.hubProxy = this.hubConnection.createHubProxy("Event2Hub"); // When I add this line it is overriding first hub and only connecting to Event2Hub.
我正在使用“ signalr”:“ 2.3.0”,
答案 0 :(得分:0)
您正在创建Event1Hub
的代理,然后使用Event2Hub
的代理重新创建该对象实例。如果您想与两个集线器进行通信,则必须初始化单独的代理对象,以使其正常工作。
this.hubConnection = this.window.$.hubConnection();
this.hubConnection.url = this.apiUrl + "api/signalr";
this.hubEvent1Proxy = this.hubConnection.createHubProxy("Event1Hub");
this.hubEvent2Proxy = this.hubConnection.createHubProxy("Event2Hub");
通过这种方式hubEvent1Proxy
将提供Event1Hub
通信,而hubEvent2Proxy
将提供Event2Hub
通信。