Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Logs.AddConsoleAppender();

            //  注册网络消息
            packetHandlersManager.Register((ushort)OpCode.Login, OnLogin);
            packetHandlersManager.Register((ushort)OpCode.SendMessage, OnSendMessage);
            packetHandlersManager.Register((ushort)OpCode.RecvPrivateMessage, OnSendPrivateMessage);

            var servers = new Listener <Session>();

            servers.SocketConnect    += OnSocketConnect;
            servers.SocketDisconnect += OnSocketDisconnect;
            servers.SocketRecv       += OnSocketRecv;
            servers.StartServer(10086);

            Logs.Info("服务器启动,等待客户端连接。按Esc键退出");
            while (true)
            {
                var key = Console.ReadKey();
                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }

                Thread.Sleep(100);
            }
        }
Exemplo n.º 2
0
        private static void Main(string[] args)
        {
            Logs.AddConsoleAppender();

            GameServerService.StartTaskThread();

            //test1();
            //test2();
            TestMove();

            while (true)
            {
                if (Console.ReadKey(false).Key == ConsoleKey.Escape)
                {
                    break;
                }
                Thread.Sleep(100);
            }

            GameServerService.RunType = ServerStateType.Closing;
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Logs.AddConsoleAppender();

            var servers = new Listener <Session>();

            servers.SocketConnect    += OnSocketConnect;
            servers.SocketDisconnect += OnSocketDisconnect;
            servers.SocketRecv       += OnSocketRecv;
            servers.StartServer(10086);

            Logs.Info("服务器启动,等待客户端连接。按Esc键退出");
            while (true)
            {
                var key = Console.ReadKey();
                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }

                Thread.Sleep(100);
            }
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Logs.AddConsoleAppender();

            //  注册网络消息
            packetHandlersManager.Register((ushort)OpCode.Login, OnLogin);
            packetHandlersManager.Register((ushort)OpCode.SendMessage, OnSendMessage);
            packetHandlersManager.Register((ushort)OpCode.RecvPrivateMessage, OnSendPrivateMessage);

            //  开启任务线程,所有的业务逻辑今后都在这里执行
            taskManager.StartThread();

            var servers = new Listener <Session>();

            servers.SocketConnect    += OnSocketConnect;
            servers.SocketDisconnect += OnSocketDisconnect;
            servers.SocketRecv       += OnSocketRecv;
            servers.StartServer(10086);

            Logs.Info("服务器启动,等待客户端连接。按Esc键退出");
            while (true)
            {
                var key = Console.ReadKey();
                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }

                Thread.Sleep(100);
            }
            //  退出时要等未处理完的任务处理完成后才退出
            taskManager.Runing = false;
            while (taskManager.GetWaitCount() > 0)
            {
                Thread.Sleep(100);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {

            Logs.AddConsoleAppender();
            var ip = GetLocalIp();
            int port = 10086;

            var servers = new Listener<Session>();
            servers.SocketConnect += OnSocketConnect;
            servers.SocketDisconnect += OnSocketDisconnect;
            servers.SocketRecv += OnSocketRecv;
            servers.StartServer(ip, port);

            Logs.Info("服务器启动 {0}:{1},等待客户端连接。按Esc键退出",ip, port);
            Stopwatch time = Stopwatch.StartNew();
            int lastRecvCount = 0;
            int lastRecvLength = 0;

            int lastRecvCount10 = 0;
            int lastRecvLength10 = 0;

            int elaps2 = 0;

            while (true)
            {
                if (Console.KeyAvailable)
                {
                    var key = Console.ReadKey();
                    if (key.Key == ConsoleKey.Escape)
                        break;
                }

                Thread.Sleep(1000);

                var count = recvPackageCount - lastRecvCount;
                var length = recvPackageLength - lastRecvLength;

                var elaps = time.Elapsed.Seconds;
                elaps2 += time.Elapsed.Seconds;
                time.Restart();

                lastRecvCount = recvPackageCount;
                lastRecvLength = recvPackageLength;

                Logs.Info("Time {0}s connect:{1}  package count:{2}   length:{3} ", elaps, sessions.Count, count, length);

                if (elaps2 >= 10)
                {
                    var count10 = recvPackageCount - lastRecvCount10;
                    var length10 = recvPackageLength - lastRecvLength10;

                    time.Restart();

                    lastRecvCount10 = recvPackageCount;
                    lastRecvLength10 = recvPackageLength;

                    Logs.Info("Time {0}s connect:{1}  package count:{2}   length:{3} ", 
                        elaps2, sessions.Count, count10 / 10, length10 / 10);

                    elaps2 = 0;
                }
            }
        }