我正在制作一对一的聊天应用程序,而且我正在使用群组。
您加入了一个Groups.Add(Context.ConnectionId, roomName)
的小组。
无论何时发送消息,我都想打电话
Clients.Group(roomName).addMessage(username, text);
但为此,我需要一个roomName
变量。如何检索用户加入的房间?
答案 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中有一个示例,说明如何使用数据库保存用户和组信息。