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) { } }
private static void ProcessHandshake(XPacket packet) { var handshake = XPacketConverter.Deserialize <XPacketHandshake>(packet); if (_handshakeMagic - handshake.MagicHandshakeNumber == 15) { Console.WriteLine("Handshake successful!"); } }
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()); }