List<string> blackList = new List<string>(); public async Task OtherSendAsync(ChatMessage body) { // 给当前连接到 Hub 上的所有连接发送消息,相当于广播 await Clients.All.SendAsync("Recv", body); // 给当前连接对象发送消息 await Clients.Caller.SendAsync("Recv", body); // 给其它所有连接的客户端发送消息,除了当前正在连接的客户端 await Clients.Others.SendAsync("Recv", body); // 查找当前所有连接的客户端(排除自己),如果是已加入此分组,则给他们推送消息 await Clients.OthersInGroup("groupName").SendAsync("Recv", body); // 给除了 blackList(黑名单)之外的所有人发送消息 await Clients.AllExcept(blackList).SendAsync("Recv", body); }
4. 一个简单的示例
本示例代码包含两个简单的界面
4.1 登录
4.2 各种方式发送消息
结束语
最近在做一个开源项目,还处于试用阶段,准备写个使用的 WIKI 出来,看看大家是否感兴趣,此 SingalR 系列只能不定期更新了,抱歉。
演示代码下载
已托管到 GitHub 仓库
https://github.com/lianggx/Examples/tree/master/SignalR/Ron.SignalRLesson2