public bool RawSend(UInt32 msgID, byte[] payload) { if (_socket == null || !_socket.Connected || payload == null) { return(false); } var header = new PacketHeader(); header.Tag = GenSendTag(); header.MsgID = msgID; header.TotalSize = (UInt16)(PacketHeader.HeaderSize + payload.Length); var ps = PacketSerializer.WriteFull(header, payload); try { if (_socket != null && _socket.Connected) { SendStream(ps); } } catch (Exception ex) { PostError(SessionEvent.SendError, ex); return(false); } return(true); }