【问题标题】:How to send the Group name on connected in SignalR Persisted Connection?如何在 SignalR 持久连接中发送已连接的组名称?
【发布时间】:2013-09-19 14:20:22
【问题描述】:

我需要向不同的用户组发送数据。我可以在这里使用集线器概念,但唯一的 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 客户端库,我也会非常高兴,因为我找不到任何集线器。

谢谢

【问题讨论】:

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


    【解决方案1】:

    你有两个选择:

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

    任何一个都有效。

    【讨论】:

    • 非常感谢!将尝试第一个选项。
    • 顺便说一句,您是否碰巧知道任何用于 SignalR 的稳定工作 Java 客户端库?迫切需要它。
    • 不,我什至不知道那个。
    • @davidfowl 谢谢,但第一个选项在 ASP.NET MVC 中不起作用。有什么想法吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多