/// <summary> /// Invokes a <see cref="Rewtek.GameLibrary.Network.Packet"/>. /// </summary> /// <param name="client">The <see cref="Rewtek.GameLibrary.Network.NetworkClient"/>.</param> /// <param name="packet">The <see cref="Rewtek.GameLibrary.Network.Packet"/>.</param> /// <returns>True if the packet has been invoked.</returns> public bool InvokePacket(NetworkClient client, Packet packet) { if (_packets.ContainsKey(packet.Header)) { try { _packets[packet.Header].Invoke(client, packet); } catch (Exception ex) { Logger.Log("PacketHandler Error : " + ex.Message); Logger.Log("PacketHandler Stack : " + ex.StackTrace); } return true; } else { Logger.Log("Warning: Packet {0} has no handler!", packet.Header); return false; } }
public void Handle(NetworkClient client, Packet packet) { Logger.Log("Handling EXAMPLE_PACKET ..."); }
/// <summary> /// Listens for incoming connections. /// </summary> private void Listen() { Logger.Print(LogEvent.Info, "Start listening for clients..."); while (AcceptConnections) { var client = new NetworkClient(_socket.Accept()); client.SubscribePacketHandler(PacketHandler); client.Listen(); Thread.Sleep(10); } Logger.Print(LogEvent.Info, "Stop listening for clients ..."); }