Exemplo n.º 1
0
 /// <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();
 }