//客户端向服务端发消息打包 private byte[] Parse <T>(T pMsg, uint type) where T : global::ProtoBuf.IExtensible { byte[] pByteMsg = null; using (MemoryStream _MS = new MemoryStream()) { Serializer.Serialize <T>(_MS, pMsg); pByteMsg = _MS.ToArray(); } MsgClient xMsg = new MsgClient(); xMsg.type = type; xMsg.msg = pByteMsg; MemoryStream ms = new MemoryStream(); Serializer.Serialize <MsgClient>(ms, xMsg); byte[] byteArr = ms.ToArray(); byte[] pMsgHeadLen = DataFormat.shortToByte((short)byteArr.Length); byte[] pTrueMsg = DataFormat.ConnectBytes(pMsgHeadLen, byteArr); return(pTrueMsg); }