SignalR获取用户所在的组

时间:2018-03-12 11:31:34

标签: c# signalr signalr-hub

我正在制作一对一的聊天应用程序,而且我正在使用群组。

您加入了一个Groups.Add(Context.ConnectionId, roomName)的小组。

无论何时发送消息,我都想打电话

Clients.Group(roomName).addMessage(username, text);

但为此,我需要一个roomName变量。如何检索用户加入的房间?

1 个答案:

答案 0 :(得分:2)

管理组没有特定的api,您需要将此信息保留为自己。

There is a related question here

有关更完整的信息,您可以看到Signalr主题

Working with Groups in SignalR

  

SignalR中的组提供了一种向其广播消息的方法   指定的已连​​接客户端子集。一个组可以有任意数量的   客户端和客户端可以是任意数量的组的成员。您   不必明确创建群组。实际上,一个群体是   第一次在调用中指定其名称时自动创建   Groups.Add,当您从中删除最后一个连接时,它将被删除   会员资格。有关使用组的简介,请参阅How to manage group membership from the Hub class in the Hubs API - 服务器   指南。

如何从Hub类

管理组成员资格
  

SignalR中的组提供了一种向其广播消息的方法   指定的已连​​接客户端子集。一个组可以有任意数量的   客户端和客户端可以是任意数量的组的成员。

     

要管理组成员身份,请使用提供的“添加”和“删除”方法   Hub类的Groups属性。

<强>此外

  

SignalR跟踪连接,而不是用户,因此如果您希望用户进入,则跟踪   每次用户建立连接时,您都拥有相同的组   每次用户建立新连接时调用Groups.Add。

总之,你必须自己动手。 Working with Groups in SignalR中有一个示例,说明如何使用数据库保存用户和组信息。

相关问题