SignalR client with multiple connections

Adamy picture Adamy · Mar 18, 2013 · Viewed 19.5k times · Source

I have multiple SignalR 'services' running and only one UI to access them.

How can I make the client js to talk to multiple connections with different Url? Because it seems I can only specify one url per $.connection.hub, and I can't use multiple 'signalr/hubs' client scripts.

Any help? Thanks.

Answer

N. Taylor Mullen picture N. Taylor Mullen · Mar 18, 2013

$.connection.hub is created in the /signalr/hubs inclusion.

At the end of the file it essentially does:

$.connection.hub = $.hubConnection("/signalr", { useDefaultPath: false });

To create the hub proxy you do:

var myHub = $.connection.hub.createHubProxy('myHub');

Simple example for multiple connections:

var connection1 = $.hubConnection("http://www.myfirstendpoint.com");
var connection2 = $.hubConnection("http://www.mysecondendpoint.com");

var myCon1Hub = connection1.createHubProxy('myCon1Hub');
var myCon2Hub = connection2.createHubProxy('myCon2Hub');

myCon1Hub.client.foo = function() { ... Whatever you want ... };
myCon2Hub.client.foo = function() { ... Whatever you want ... };

connection1.start();
connection2.start();