SkipHeader() public method

public SkipHeader ( ) : void
return void
示例#1
0
        private void OnReceived(Session session, StreamBuffer buffer)
        {
            SecurePacketRequest reqPacket = new SecurePacketRequest(buffer);
            reqPacket.Decrypt(ServerMain.AES_IV, ServerMain.AES_Key);
            reqPacket.SkipHeader();

            try
            {
                reqPacket.Dispatch(this, "On" + Protocol.GetName(reqPacket.PacketId));
            }
            catch (AegisException e) when (e.ResultCodeNo == AegisResult.BufferUnderflow)
            {
                Logger.Write(LogType.Err, 2, "Cannot read more data at PacketId(=0x{0:X}).", reqPacket.PacketId);
            }
            catch (Exception e)
            {
                Logger.Write(LogType.Err, 2, e.ToString());
            }
        }
示例#2
0
        private void OnReceived(Session session, StreamBuffer buffer)
        {
            SecurePacketRequest reqPacket = new SecurePacketRequest(buffer);
            reqPacket.Decrypt(_aesIV, _aesKey);
            reqPacket.SkipHeader();

            Statistics.ReceivedBytes.Add(reqPacket.Size);
            Statistics.ReceivedCount.Add(1);

            try
            {
                if (reqPacket.PacketId == Protocol.GetID("CS_Login_Req"))
                    OnCS_Login_Req(reqPacket);
                else
                {
                    _user = UserManager.Find(reqPacket.UserNo);
                    if (_user == null)
                    {
                        ForceClose("Invalid UserNo.");
                        return;
                    }
                    if (reqPacket.SeqNo != _user.SeqNo + 1)
                    {
                        ForceClose("Invalid Sequence Number.");
                        return;
                    }

                    _user.SeqNo = reqPacket.SeqNo;
                    _user.Session = this;
                    reqPacket.Dispatch(_user, "On" + Protocol.GetName(reqPacket.PacketId));

                    UserManager.HeartPulse(_user);
                }
            }
            catch (AegisException e) when (e.ResultCodeNo == AegisResult.BufferUnderflow)
            {
                Logger.Write(LogType.Err, 2, "Cannot read more data at PacketId(=0x{0:X}).", reqPacket.PacketId);
            }
            catch (Exception e)
            {
                Logger.Write(LogType.Err, 2, e.ToString());
            }
        }