예제 #1
0
        /************************************************************************/

        /* 데이터를 파싱한다.
         * /************************************************************************/
        public PacketHeader(MemoryStream ms)
            : this()
        {
            // 기본 해더
            baseHeader = (byte)ms.ReadByte();

            // 인크립스
            encryt = (byte)ms.ReadByte();

            // RequestID
            var requestIDBytes = new byte[20];

            ms.Read(requestIDBytes, 0, requestIDBytes.Length);

            RequestID = Encoding.UTF8.GetString(requestIDBytes);

            var commandBuf = new byte[2];

            ms.Read(commandBuf, 0, commandBuf.Length);

            var ohCommand = BitConverter.ToInt16(commandBuf, 0);

            ohCommand = IPAddress.NetworkToHostOrder(ohCommand);

            // 커멘드 처리
            command = (PacketCommandType)ohCommand;

            // 데이터 타입 처리

            dataType = (PacketDataType)ms.ReadByte();

            // 성공 여부 처리
            Success = (PacketSuccessType)ms.ReadByte();
        }
예제 #2
0
 public PacketHeader(PacketDataType dataType)
     : this()
 {
     this.dataType = dataType;
     Success       = PacketSuccessType.None;
 }