使用SignalR,是否可以只发送一个人或群组消息?

时间:2017-05-13 19:14:09

标签: asp.net model-view-controller signalr chat message

许多网站(包括MSDN)已经举例说明了向所有客户发送消息。

例如;使用Clients.All.addNewMessageToPage(),消息将发送给所有用户。

如果我只想向正在聊天的一群人发送讯息,该怎么办?

或向单个联系人发送消息......

谢谢......

1 个答案:

答案 0 :(得分:1)

是的,您可以通过加入这样的小组发送给一群人

public class ContosoChatHub : Hub
{
    public Task JoinRoom(string roomName)
    {
        return Groups.Add(Context.ConnectionId, roomName);
    }

    public Task LeaveRoom(string roomName)
    {
        return Groups.Remove(Context.ConnectionId, roomName);
    }
}

并通过

向此论坛发送消息
Clients.Group(groupName).addChatMessage(name, message);

您可以查看此链接以获取更多信息 https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/working-with-groups