private void ReceiveEvent(ITcpClientAsync client, List <byte[]> data) { if (data == null || data.Count == 0) { return; } ThreadPool.QueueUserWorkItem((o) => { List <byte[]> list = o as List <byte[]>; foreach (var buffer in list) { var arr = OnDecrypt(buffer); MsgData msg = MsgData.Deserialize(arr); if (msg != null) { if (msg.Id != 0) { var callModel = this.GetMsgIdCall(msg.Id); if (callModel != null) { this.OnMsgIdCall(msg, callModel); return; } } var call = this.GetCmdCall(msg.Cmd); this.OnMsgCmdCall(msg, call); } } list.Clear(); }, data); }
private void ReceiveEvent(TcpSocketAsync client, byte[] data, int length) { data = OnDecrypt(data); MsgData msg = MsgData.Deserialize(data); if (msg != null) { ThreadPool.QueueUserWorkItem((o) => { MsgData _msg = o as MsgData; if (_msg.Id != 0) { var callModel = this.GetMsgIdCall(_msg.Id); if (callModel != null) { this.OnMsgIdCall(_msg, callModel); return; } } var call = this.GetCmdCall(_msg.Cmd); this.OnMsgCmdCall(_msg, call); }, msg); } }