与signalR成角度:到同一路由的多个集线器连接

时间:2019-03-06 16:54:19

标签: angular angular5 signalr signalr-hub signalr-2

我的客户代码如下。我有一个信号器路由和集线器连接名称。我能够连接到集线器并获取事件。现在,我需要连接到同一路线的另一个集线器以获得更多事件。

  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”,

1 个答案:

答案 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通信。