angular - 带有signalR的角度:多个集线器连接到同一条路线
问题描述
我的客户代码如下。我有一个信号器路由和集线器连接名称。我能够连接到集线器并获取事件。现在,我需要为同一条路线再连接一个集线器以获取更多事件。
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”,
解决方案
您正在创建一个代理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
通信。
推荐阅读
- r - 在 R 中合并 xts - 将字符转换为 NA
- python - Django:如何使用子查询注释 M2M 或 OneToMany 字段?
- angularjs - ng-href 在按钮中不起作用。角度js 1.7
- ios - 快速更改按钮的位置
- python - 在 python 数据类 __init__ 方法中强制类型转换
- android - 在 alertdialog 中添加 textview 边距/填充
- node.js - xhtml上的Nodejs xpath选择器不起作用
- c++ - C++中根据模板类型返回不同类型的对象
- java - 关闭windows命令行-cmd
- c# - API 响应在 Postman 中返回 0,但从 C# 调用时返回 -0.0