考虑游戏服务器的架构以及如何处理客户端连接的问题。协议 - tcp/ip。
在多线程架构(1 个客户端 - 1 个线程)和异步 I/O(读取时如果没有数据不阻塞线程,而是返回 0 并且线程可以处理其他客户端)之间存在选择,即1 个线程 - 许多客户端)。
该游戏是一款大型多人在线游戏,潜在的人们可以站在城市中几乎不向服务器传递任何输入,但也有一些动态时刻,服务器的快速响应很重要。
线程停止时不使用 CPU 周期,响应速度更快,但保留 RAM,这在几乎没有玩家输入的低活动场所是不可取的。
异步方法使用较少的内存,不易受到轻度活动客户端的攻击,但对活动客户端的效率较低。
选择是非常困难的,所以我想请教那些对这些方法有经验的更有经验的人的建议,谢谢。
我会建议一个动态线程池。你知道好处。并且可以根据负载改变这个池的大小,这将节省CPU并根据用户的需要实现足够的性能