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); } }
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; }
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); } }
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); } }
/// <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; } } }