示例#1
0
        private static void Main()
        {
            Console.Title           = "XClient";
            Console.ForegroundColor = ConsoleColor.White;

            var client = new XClient();

            client.OnPacketRecieve += OnPacketRecieve;
            client.Connect("127.0.0.1", 4910);

            var rand = new Random();

            _handshakeMagic = rand.Next();

            Thread.Sleep(1000);

            Console.WriteLine("Sending handshake packet..");

            client.QueuePacketSend(
                XPacketConverter.Serialize(
                    XPacketType.Handshake,
                    new XPacketHandshake
            {
                MagicHandshakeNumber = _handshakeMagic
            })
                .ToPacket());

            while (true)
            {
            }
        }
示例#2
0
        private static void ProcessHandshake(XPacket packet)
        {
            var handshake = XPacketConverter.Deserialize <XPacketHandshake>(packet);

            if (_handshakeMagic - handshake.MagicHandshakeNumber == 15)
            {
                Console.WriteLine("Handshake successful!");
            }
        }
示例#3
0
        private void ProcessHandshake(XPacket packet)
        {
            Console.WriteLine("Recieved handshake packet.");

            var handshake = XPacketConverter.Deserialize <XPacketHandshake>(packet);

            handshake.MagicHandshakeNumber -= 15;

            Console.WriteLine("Answering..");

            QueuePacketSend(XPacketConverter.Serialize(XPacketType.Handshake, handshake).ToPacket());
        }