我正在为在线回合制游戏编写 tcp 服务器。我已经使用 php 套接字编写了一个原型,但想转向 C++。我一直在研究流行的网络库(ASIO、ACE、POCO、LibEvent),但目前还不清楚哪一个最适合我的需求:
1) 连接是持久的(以分钟为单位),服务器必须能够处理 100 多个同时连接。
2)连接必须能够维护状态信息(用户登录信息)。[我的 php 原型目前要求每个客户端请求都包含登录信息]
3) 可选且最好是多线程的,但只有一个进程。不希望每个连接有 1 个线程,而是有固定数量的线程在所有打开的连接上工作。
我倾向于 POCO 的 TCPServer 或 Reactor 框架,但不确定它们是否符合我的要求。我认为 Reactor 是单线程的,而 TCPServer 强制执行 1:1 线程/连接。我对么?
在任何一种情况下,我都不完全确定如何完成将登录信息与特定连接与随机连接的最重要任务。