/// <summary> /// 反序列化并处理消息 /// </summary> /// <param name="buffer">数据</param> /// <param name="iServer">服务端标记</param> private void HandleMessage(byte[] buffer, bool iServer) { object message; try { if (buffer.Length == 5 && Encoding.UTF8.GetString(buffer) == "Hello") {//心跳,客户端需要回复 if (!iServer) { Send(buffer); } return; } try { if (SocketConfig.IStruct) { message = StructHelper.DeserializeObject(buffer); } else { message = buffer; } } catch (Exception ex) { log.Error(ex); message = buffer; } MessageEvent?.Invoke(message); } catch (Exception ex) { log.Error(ex); } }