コード例 #1
0
        //private ConsoleGameServer consoleGameServer;

        public SocketServer(ConsoleGameServer consoleGameServer)
        {
            signal = new AutoResetEvent(false);

            PacketFactory.Register(PacketIdentity.MoveTo, () => new MoveToPacket());
            ServerPacketHandler.Register(PacketIdentity.MoveTo, new MoveToPacketHandler());
            PacketFactory.Register(PacketIdentity.AimTo, () => new AimToPacket());
            ServerPacketHandler.Register(PacketIdentity.AimTo, new AimToPacketHandler());
            PacketFactory.Register(PacketIdentity.Auth, () => new AuthPacket());
            ServerPacketHandler.Register(PacketIdentity.Auth, new AuthPacketHandler());
            PacketFactory.Register(PacketIdentity.PerformAbility, () => new PerformAbilityPacket());
            ServerPacketHandler.Register(PacketIdentity.PerformAbility, new PerformAbilityPacketHandler());
            PacketFactory.Register(PacketIdentity.UseItem, () => new UseItemPacket());
            ServerPacketHandler.Register(PacketIdentity.UseItem, new UseItemPacketHandler());
            PacketFactory.Register(PacketIdentity.MoveItem, () => new MoveItemPacket());
            ServerPacketHandler.Register(PacketIdentity.MoveItem, new MoveItemPacketHandler());
            PacketFactory.Register(PacketIdentity.ChatMessage, () => new ChatMessagePacket());
            ServerPacketHandler.Register(PacketIdentity.ChatMessage, new ChatMessagePacketHandler());
            PacketFactory.Register(PacketIdentity.ChatStatus, () => new ChatStatusPacket());
            ServerPacketHandler.Register(PacketIdentity.ChatStatus, new ChatStatusPacketHandler());

            acceptedQueue            = new Queue <Socket>();
            onAccept                 = new AsyncCallback(BeginAcceptCallback);
            netStatesWithPacketQueue = new ThreadQueue <NetState>();
        }