ASP.NET SignalR的Group使用详解(转)

SignalR的分组使用十分方便,官方已提供接口封装。
如果需要指定或者移除Connection的组时只需操作Groups即可
1、添加连接到指定的组.
Groups.Add(Context.ConnectionId, 组名称);
对应IGroupManager里的interface
Task Add(string connectionId, string groupName)

2、从组移除Connection连接
Groups.Remove(Context.ConnectionId, 组名称);
对应IGroupManager里的interface
Task Remove(string connectionId, string groupName);

客户端使用很简单,客户端JS调用服务器方法时指定Group
hub.server.messageGroup(组名称, 消息); 
服务器端通过Group(组名称) 进行消息分发 
public void MessageGroup(string group, string message) 

Clients.Group(group).append(string.Format(CultureInfo.InvariantCulture, Format, message, DateTime.UtcNow, 
group + "/")); 


客户端获取消息
hub.client.append = function (message) { 
self.messages.push(message);//knockoutjs,可用任意方法操作 
}; 

posted @ 2017-03-13 14:51  DemiGoo  阅读(733)  评论(0编辑  收藏  举报