如何在SignalR Persistent Connection中连接发送组名?

时间:2013-02-22 11:15:12

标签: c# asp.net signalr signalr-hub signalr.client

我有不同的用户组,我需要向其发送数据。我可以在这里使用集线器概念,但唯一的SignalR Android客户端库“SignalA”https://github.com/erizet/SignalA 没有实现集线器,所以我不得不使用持久连接及其组概念。现在我在SignalR文档站点上看到了这个OnConnected方法

protected override Task OnConnected(IRequest request, string connectionId)
{
    return Groups.Add(connectionId, "foo");
}

我希望用户能够加入不同的群组,因此当他连接时,他将传递一个他想要添加的群组名称。如何在客户端传递组名以及在上述方法中接收它而不是使用硬编码的“foo”?

如果有人能指出我有一个具有集线器实现的SignalR java客户端库,我也会非常高兴,因为我找不到任何内容。

由于

2 个答案:

答案 0 :(得分:3)

您有两个选择:

  1. 传递查询字符串参数(如果java客户端支持它)作为连接信息的一部分。这样,您可以通过查询字符串传递组列表以进行连接。如果您这样做,那么您可以使用request.QueryString来访问查询字符串并执行您需要的任何处理。
  2. 连接后,您可以向服务器发送消息并处理OnReceived并传递组列表。
  3. 任何一个都有效。

答案 1 :(得分:0)

我知道这是一个老问题,但我认为值得一提的是SignalA现在支持集线器。