2013-07-11 58 views
1

下面連接JS客戶端的所有存在的集線器:SignalR:從JavaScript連接到一個集線器,而不是所有的人都

$.connection.hub.start({ transport: 'longPolling' }).done(function() {}); 

是否有某種方式連接到一些特別的輪轂呢?

如果沒有,什麼是「OnConnected()」和「OnDisconnected()」在每一個槳轂的地步?如果所有人都會被調用。

我問這個,因爲在我想從一個集線器(新聞時張貼,這種觀點應該處理,並告訴他們出現)處理通知特定HTML(有點像新聞提要)。我打算使用羣組,但似乎更自然地將其分離到集線器中。

回答

0

您可以選擇使用或創建的任何集線器不使用連接的事件。您當然可以使用集線器將您的代碼分成邏輯部分,在這方面沒有任何傷害。

0
var connection = $.hubConnection(server); 
var someHub= connection.createHubProxy("someHub"); 
connection.start({transport: 'longPolling'}).done(function() {}) 
2

您只訂閱了與客戶端事件關聯的集線器。因此,可以說,你有兩個中心:

  1. 虎霸
  2. HUBB

在你的客戶,如果您有:

var hubA = $.connection.hubA; 

hubA.client.foo = function() {}; 

$.connection.hub.start(); 

您將只訂閱事件在hubA(而不是hubB)上。

+0

但是OnConnected(hubA的OnConnected和hubB的OnConnected)將被調用。所以你實際上連接到兩個中心。 – sports

+1

@sports集線器共享一個連接,但如果您未訂閱,則不會收到消息 – davidfowl

相關問題