SkipHeader() public method

패킷의 헤더 위치를 건너띄어 본문 데이터를 읽을 수 있도록 읽기위치를 조절합니다. 이 함수가 호출되면 ReadIndex는 4에 위치하지만, WriteIndex는 변하지 않습니다.
public SkipHeader ( ) : void
return void
 protected override void OnReceive(StreamBuffer buffer)
 {
     Packet packet = new Packet(buffer);
     AegisTask.Run(() =>
     {
         packet.SkipHeader();
         switch (packet.PID)
         {
             case 0x01: OnHello(packet); break;
             case 0x03: OnEcho_Res(packet); break;
         }
     });
 }
Beispiel #2
0
        private void Echo_Res(Packet packet)
        {
            Packet reqPacket = new Packet(Protocol.Echo_Req);
            reqPacket.Write(_tempBuffer, 0, FormMain.BufferSize);

            SendPacket(reqPacket,
                        (buffer) => { return Packet.GetPacketId(buffer.Buffer) == Protocol.Echo_Res; },
                        (result) =>
                        {
                            packet.SkipHeader();
                            Echo_Res(new Packet(result.Buffer));
                        }
                );
        }
        protected override void OnReceive(StreamBuffer buffer)
        {
            Counter_ReceiveCount.Add(1);
            Counter_ReceiveBytes.Add(buffer.WrittenBytes);

            Packet packet = new Packet(buffer);
            AegisTask.Run(() =>
            {
                packet.SkipHeader();
                switch (packet.PID)
                {
                    case 0x02: OnEcho_Req(packet); break;
                }
            });
        }