/// <summary> /// 接收一条消息从客户端 /// 标志此套接字 仍在使用中 /// </summary> /// <param name="clientId"></param> /// <param name="messageId"></param> public static void OnReceiveMessageFromClient(string clientId, string messageId) { if (string.IsNullOrEmpty(clientId) || string.IsNullOrEmpty(messageId)) { return; } var garbagePair = LstOfRecycleTasks.FirstOrDefault(x => x.Key == clientId && x.Value == messageId); if (default(KeyValuePair <string, string>).Equals(garbagePair)) { return; } //此套接字对象 依然还在使用中 LstOfRecycleTasks.Remove(garbagePair); UserWebSocket userSocket = null; DicOfUserWebSocket.TryGetValue(garbagePair.Key, out userSocket); if (null != userSocket) { userSocket.ResetFlags();//复位对象 } }
/// <summary> /// 从字典中获取用户的 websocket /// </summary> /// <param name="cliengId"></param> /// <returns></returns> public static UserWebSocket GetUserSocketFromDic(string cliengId) { UserWebSocket socket = null; try { DicOfUserWebSocket.TryGetValue(cliengId, out socket); if (null != socket) { socket.LastAccessTime = DateTime.Now; } } catch (Exception ex) { throw ex; } return(socket); }
/// <summary> /// 添加到websocket 字典中 /// </summary> /// <param name="uSocket"></param> /// <returns></returns> public static bool AddUserSocketToDic(UserWebSocket uSocket) { bool result = false; try { if (!DicOfUserWebSocket.ContainsKey(uSocket.ClientId)) { DicOfUserWebSocket.Add(uSocket.ClientId, uSocket); } result = true; } catch (Exception ex) { throw ex; } return(result); }