using NCC.Dependency;
using NCC.Message.Entitys.Model.IM;
using System.Collections.Generic;
using System.Linq;
namespace NCC.Message.Extensions
{
///
/// WebSocket客户端集合
///
[SuppressSniffer]
public class WebSocketClientCollection
{
///
/// 在线用户
///
public static List _clients { get; set; } = new List();
///
/// locker
///
public static readonly object locker = new object();
///
/// 添加集合
///
///
public static void Add(WebSocketClient client)
{
_clients.Add(client);
}
///
/// 移除集合
///
///
public static void Remove(WebSocketClient client)
{
_clients.Remove(client);
}
///
/// 获取WebSocket客户端
///
///
///
public static WebSocketClient Get(string clientId)
{
var client = _clients.FirstOrDefault(c => c.ConnectionId == clientId);
return client;
}
///
/// 获取WebSocket客户端
///
///
///
public static WebSocketClient GetUser(string userId)
{
var client = _clients.FirstOrDefault(c => c.UserId == userId);
return client;
}
///
/// 获取聊天室 客户端集合
///
///
///
public static List GetRoomClients(string roomNo)
{
var client = _clients.Where(c => c.RoomNo == roomNo);
return client.ToList();
}
}
}