阅读背景:

SignalR 集线器简单实例1

来源:互联网 

1.集线器定义:

    /// <summary>
    /// 集线器定义
    /// </summary>
    public class EchoHub : Hub
    {
        private static int _count = 0;
        /// <summary>
        /// 连接创建成功
        /// </summary>
        /// <returns></returns>
        public override async Task OnConnected()
        {
            Interlocked.Increment(ref _count);
            //通知其他连接
            await Clients.Others.Message("新连接创建:" + Context.ConnectionId + ",已连接数量:" + _count);
            //通知当前连接
            await Clients.Caller.Message("Hey,welcome!");
        }
        /// <summary>
        /// 连接断开
        /// </summary>
        /// <param name="stopCalled"></param>
        /// <returns></returns>
        public override Task OnDisconnected(bool stopCalled)
        {
            Interlocked.Decrement(ref _count);
            //通知所有连接
            return Clients.All.Message(Context.ConnectionId + " 连接关闭,剩余连接数:" + _count);
        }
        /// <summary>
        /// 广播消息
        /// </summary>
        public Task Broadcast(string message)
        {
            //通知所有连接
            return Clients.All.Message(Context.ConnectionId + "> " + message);
        }
    }    /// <summary>
    /// 集线器定义
 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: