2013-12-08 36 views
1

嗨我正在尝试在SignalR中创建不同的组,并且我能够这样做。现在,我只想发送该组中的某个特定组的消息,那么如何才能知道调用者转至哪个组,并相应地在该组中发送消息。ASP.NET SignalR:如何获取特定调用者的组名称?

这里是我的服务器端代码:

public Task JoinGroup(string groupName) 
    { 
     return Groups.Add(Context.ConnectionId, groupName); 
    } 

    public Task LeaveGroup(string groupName) 
    { 
     return Groups.Remove(Context.ConnectionId, groupName); 
    } 

    public void SendToGroup(string groupName,string name, string message) 
    { 
     Clients.Group(groupName).addChatMessage(name, message); 
    } 

任何帮助大大appriciated。

回答

3

为了知道“呼叫者”与哪个组相关联,您必须自己跟踪该信息。

这可以通过静态ConcurrentDictionary来完成,它将连接ID​​映射到您定义的某种用户对象。然后,您可以在OnConnected中添加它,并在OnDisconnected中将其从中删除。因此,无论何时将用户添加到组中,都可以在自己的用户对象中跟踪该信息。

希望这会有所帮助!

+0

谢谢队友我想通了,我的应用程序正在运行:) –

相关问题