示例#1
0
        private void AcceptClient(IAsyncResult ar)
        {
            var socket = Listener.EndAccept(ar);
            var client = new CoCRemoteClient(this, socket);

            Clients.Add(client);

            LoginPacketHandlers.RegisterLoginPacketHandlers(client);
            InGamePacketHandler.RegisterInGamePacketHandlers(client);
            Listener.BeginAccept(AcceptClient, Listener);
        }
示例#2
0
        private void AcceptClient(IAsyncResult ar)
        {
            var socket = Listener.EndAccept(ar);
            var client = new CoCRemoteClient(this, socket);

            Console.WriteLine("Accepted new connection: {0}", socket.RemoteEndPoint);

            // should use a single dictionary of handlers instead.
            LoginPacketHandlers.RegisterLoginPacketHandlers(client);
            InGamePacketHandler.RegisterInGamePacketHandlers(client);
            Clients.Add(client);
            Listener.BeginAccept(AcceptClient, Listener);
        }
示例#3
0
        public CoCClient()
        {
            UserID       = 0;
            UserToken    = null;
            Connection   = new Socket(SocketType.Stream, ProtocolType.Tcp);
            PacketLogger = new PacketLogger()
            {
                LogConsole = false
            };
            PacketHandlers   = new Dictionary <ushort, PacketHandler>();
            KeepAliveManager = new KeepAliveManager(this);

            LoginPacketHandlers.RegisterLoginPacketHandlers(this);
            InGamePacketHandlers.RegisterInGamePacketHandler(this);
        }
示例#4
0
        public CoCClient()
        {
            Fingerprint      = new Fingerprint();
            Home             = new Village();
            Avatar           = new Avatar();
            Connection       = new Socket(SocketType.Stream, ProtocolType.Tcp);
            PacketHandlers   = new Dictionary <ushort, PacketHandler>();
            KeepAliveManager = new KeepAliveManager(this);
            PacketLogger     = new PacketLogger()
            {
                LogConsole = false
            };

            LoginPacketHandlers.RegisterLoginPacketHandlers(this);
            InGamePacketHandlers.RegisterInGamePacketHandler(this);
        }
示例#5
0
        public CoCClient()
        {
            Fingerprint = new Fingerprint(); // not used

            Home                  = new Village();
            Avatar                = new Avatar();
            Connection            = new Socket(SocketType.Stream, ProtocolType.Tcp);
            DefaultPacketHandlers = new Dictionary <ushort, PacketHandler>();
            PacketHandlers        = new Dictionary <ushort, PacketHandler>();
            KeepAliveManager      = new KeepAliveManager(this);
            PacketLog             = new PacketLog("packets.log")
            {
                AutoSave   = true,
                LogConsole = false
            };
            PluginManager = new PluginManager(this);

            LoginPacketHandlers.RegisterLoginPacketHandlers(this);
            InGamePacketHandlers.RegisterInGamePacketHandler(this);
            PluginManager.LoadPlugins();
            PluginManager.EnablePlugins();
        }