我正在尝试重写我当前的项目以包含更多功能和稳定性,并且需要一些帮助来设计它。这是它的主要内容(对于 linux):
- TCP_SERVER 接收连接(认证数据包)
- TCP_SERVER 启动一个新的(线程/分叉)来处理新的客户端
- TCP_SERVER 将接收来自客户端 > 的许多数据包,这些数据包将被添加到循环缓冲区
- 将为该客户端创建一个单独的线程来处理这些数据包并构建对象列表
- 应该创建另一个线程来将部分对象列表发送到另一个客户端
将所有处理分成线程的原因是因为服务器将收到很多数据包并且处理将无法跟上(这需要快速,因为它的时间敏感)(我不确定如果内部有 tcp 是否会丢弃数据包缓冲区变得太大?),另一个线程发送到另一个客户端以尽可能快地处理。
因此,对于每个新连接,应该创建 3 个线程。1 接收数据包,1 处理它们,1 将处理后的数据发送到另一个客户端(从技术上讲,这是同一个人/IP,只是在不同的设备上)
我需要帮助设计这个,如何构建这个,使用什么(forks/threads),使用什么库。