4

Возможно подключение с помощью Javascript-клиента к нескольким серверам SignalR?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> 

Попытка подключения (опять же) во второй раз дает мне ошибку:

'server1Hub' Hub could not be resolved. 

Могу ли я создать два экземпляра $.connection? Очевидно, я думаю, что изменение того же connection может создать много проблем.

ответ

5

Использование различных $ подключение:

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

var connection2 = $.connection('/second'); 
connection2.start(); 

, подписавшись на нескольких концентраторов:

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(); 

Подробнее здесь: here в разделе Определить метод на клиенте (без сгенерированного прокси или при добавлении после вызова метода старта)

0

Спасибо SilentTre середина проезжей части Вы спасли меня много времени.

Если вы работаете с сгенерированной прокси, то вы можете использовать что-то вроде:

var Hub1 = connection1.createHubProxies().<your hub class> 

Замените свой собственный класс. Затем просто получите доступ ко всем функциям сервера от Hub1. Пример:

var Hub1 = connection1.createHubProxies().Chat; 
... 
Hub1.addMessage(name, message); 
Смежные вопросы