2012-08-08 107 views
0

我如何通過SignalR組迭代(HUB類) Groups.Add(Context.ConnectionId, "foo");迭代通過signalR樞紐類

我怎麼會通過遍歷組查看其在它的羣體?然後可能是基於對的ConnectionId在那裏返回用戶

+0

可能重複的[獲取監聽器的數量,連接到SignalR hub的客戶端](http://stackoverflow.com/questions/13514259/get-number-of-listeners-clients-connected-to-signalr-hub) – brichins 2017-01-09 20:22:19

回答

2

SignalR docs

組不會保留在服務器上,以便應用程序負責跟蹤哪些連接是在等什麼團體之類的東西組數可以實現。

所以不,你不能遍歷組中的用戶,你需要自己跟蹤。

1

可能實現一個字典當客戶康恩/ DIS /重新連接

public static readonly ConcurrentDictionary<string ,object> _connections = new 
    ConcurrentDictionary<string,object>(); 

    public Task Connect() 
    { 
      _connections.TryAdd(Context.ConnectionId, null); 
      Groups.Add(Context.ConnectionId, "users"); 
      //Returns Connection count. 
      return Clients.tally(_connections.Count.ToString()); 

    } 

可以擴展爲包括有姓名或團體等,但像akoeplinger說的你要跟蹤的這整個應用程序。