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(); } } }