/// <summary> /// 解码数据流 /// </summary> public void Decode(byte[] data) { if (_IsHeader) { int headerSize = PacketHeader.HeaderLen; _header = PacketHeader.BytesToStruct(data); //_header.Len = IPAddress.NetworkToHostOrder(_header.Len); //_header.PacketID = IPAddress.NetworkToHostOrder(_header.PacketID); //_header.Stamp = IPAddress.NetworkToHostOrder(_header.Stamp); //_header.RetCode = IPAddress.NetworkToHostOrder(_header.RetCode); //_header.Flag = IPAddress.NetworkToHostOrder(_header.Flag); //Debug.Log("header len : " + _header.Len); //Console.WriteLine("收到 packetID : " + _header.PacketID + " len : " + _header.Len); _header.Len = _header.Len; _header.PacketID = _header.PacketID; _header.Stamp = _header.Stamp; _header.RetCode = _header.RetCode; _header.Flag = _header.Flag; _bytes = new byte[_header.Len]; Array.Copy(data, headerSize, _bytes, 0, _header.Len); } else { _bytes = data; } DecodeToObject(); }