SignalR连接到多个服务器

Cat*_*lin 4 javascript asp.net signalr signalr.client signalr-backplane

是否可以使用Javascript客户端连接到多个SignalR服务器?

例如:

<script type="text/javascript">
    $.connection.hub.url = 'http://server1.net/signalr';
    var server1Hub = $.connection.server1Hub;

    $.connection.hub.start().done(function () {

    });

    // i need to connect to server2
    $.connection.hub.url = 'http://server2.net/signalr';
    var server2Hub = $.connection.server2Hub;

    $.connection.hub.start().done(function () {

    });
</script>
Run Code Online (Sandbox Code Playgroud)

第二次尝试连接(再次)给我一个错误:

'server1Hub' Hub could not be resolved.
Run Code Online (Sandbox Code Playgroud)

我可以创建两个实例$.connection吗?显然我认为修改相同connection可能会产生许多问题.

Sil*_*mor 6

使用不同的$连接:

var connection1 = $.connection('/first');
connection1.start();

var connection2 = $.connection('/second');
connection2.start();
Run Code Online (Sandbox Code Playgroud)

订阅多个集线器:

var connection1 = $.hubConnection("'http://server1.net/signalr");
var connection2 = $.hubConnection("http://server2.net/signalr");

var Hub1= connection1.createHubProxy('Hub1');
var Hub2= connection2.createHubProxy('Hub2');

connection1.start();
connection2.start();
Run Code Online (Sandbox Code Playgroud)

这里阅读更多内容: 此处客户端上定义方法一节(没有生成的代理,或者在调用start方法后添加)