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>
/// 集线器定义