/** * 将put的对象进行编码 */ public new byte[] Encode() { if (_package.sServantName.Equals("")) { throw new ArgumentException("servantName can not is null"); } if (_package.sFuncName.Equals("")) { throw new ArgumentException("funcName can not is null"); } TarsOutputStream _os = new TarsOutputStream(0); _os.setServerEncoding(EncodeName); if (_package.iVersion == Const.PACKET_TYPE_TUP) { _os.Write(_data, 0); } else { _os.write(_new_data, 0); } _package.sBuffer = TarsUtil.getTarsBufArray(_os.getMemoryStream()); _os = new TarsOutputStream(0); _os.setServerEncoding(EncodeName); this.WriteTo(_os); byte[] bodys = TarsUtil.getTarsBufArray(_os.getMemoryStream()); int size = bodys.Length; MemoryStream ms = new MemoryStream(size + UniPacketHeadSize); using (BinaryWriter bw = new BinaryWriter(ms)) { // 整个数据包长度 bw.Write(ByteConverter.ReverseEndian(size + UniPacketHeadSize)); bw.Write(bodys); } return(ms.ToArray()); }