Ejemplo n.º 1
0
 /// <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;
     }
 }
Ejemplo n.º 2
0
 public void Handle(NetworkClient client, Packet packet)
 {
     Logger.Log("Handling EXAMPLE_PACKET ...");
 }
Ejemplo n.º 3
0
        /// <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 ...");
        }