Ejemplo n.º 1
0
        public override void PacketHandler(N2HBinaryReader reader)
        {
            var marker = reader.ReadByte();

            if (marker != 0x0b)
            {
                Logger.FATAL("Marker hand shake wrong:should be 0b and not {0}", marker);
                return;
            }
            var time   = reader.ReadUInt16();
            var id     = reader.ReadByte();
            var length = reader.ReadUInt16();

            reader.Shrink(length);
            var pos = Writer.BaseStream.Position;

            Writer.BaseStream.Position += 3;
            var idResponse = PerformHandshake(id, reader, pos);

            if (idResponse > 0)
            {
                Writer.BaseStream.Position = pos;
                Writer.Write(idResponse);
                Writer.Write((short)(Writer.BaseStream.GetAvaliableByteCounts() - 2));
                Flush(0x0b);
            }
            FarId = 0;
        }