Exemplo n.º 1
0
        /// <summary>
        /// The SCS Random number handler. (SMSG_SEND_SCS_RANDOM)
        /// </summary>
        /// <param name='pck'>
        /// Packet.
        /// </param>
        /// <param name='hst'>
        /// Host.
        /// </param>
        public void ScsRandHandler(SchumixPacket pck, string hst)
        {
            // read random value.
            var rand = pck.Read <int>();

            Log.Notice("Random", sLConsole.GetString("SCS sent random: {0}"), rand);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handles the packet.
        /// </summary>
        /// <param name='packet'>
        /// Packet.
        /// </param>
        /// <param name='client'>
        /// Client.
        /// </param>
        public void HandlePacket(SchumixPacket packet, TcpClient client)
        {
            var hst      = client.Client.RemoteEndPoint.ToString().Split(SchumixBase.Colon)[0];
            int packetid = 0;

            try
            {
                packetid = packet.Read <int>();
            }
            catch (Exception)
            {
                var packet2 = new SchumixPacket();
                packet2.Write <int>((int)Opcode.SCMSG_PACKET_NULL);
                packet2.Write <string>(sLConsole.GetString("Wrong packetid, aborting connection!"));
                ClientSocket.SendPacketToSCS(packet);
                Log.Warning("ClientPacketHandler", sLConsole.GetString("Wrong packetid, aborting connection!"));
                return;
            }

            Log.Debug("ClientPacketHandler", sLConsole.GetString("Got packet with ID: {0} from: {1}"), packetid, client.Client.RemoteEndPoint);

            if (PacketMethodMap.ContainsKey((Opcode)packetid))
            {
                PacketMethodMap[(Opcode)packetid].Method.Invoke(packet, hst);
                return;
            }
            else
            {
                Log.Notice("ClientPacketHandler", sLConsole.GetString("Received unhandled packetid: {0}"), packetid);
            }
        }