2012-08-08 110 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说的你要跟踪的这整个应用程序。