忙活了一个多星期,差不多把基于TCP的高并发连接网络架构测试稳定了。
目的:利用多线程把网络连接及数据包压缩/解压、加密/解密等等耗时的操作分流(asio对这些没有原生的支持),顺带提供线程池框架。只对游戏逻辑层暴露出单线程的外观,隔离底层多线程的复杂度。
结构如下图(未遵循什么标准,将就着看吧):
TCPSessionHandler:暴露给逻辑层的类,内部负责通过TCPIOThreadManager跟挂载于某个线程的TCPSession进行交互,对上层屏蔽多线程细节。声明如下:
忙活了一个多星期,差不多把基于TCP的高并发连接网络架构测试稳定了。
目的:利用多线程把网络连接及数据包压缩/解压、加密/解密等等耗时的操作分流(asio对这些没有原生的支持),顺带提供线程池框架。只对游戏逻辑层暴露出单线程的外观,隔离底层多线程的复杂度。
结构如下图(未遵循什么标准,将就着看吧):
TCPSessionHandler:暴露给逻辑层的类,内部负责通过TCPIOThreadManager跟挂载于某个线程的TCPSession进行交互,对上层屏蔽多线程细节。声明如下: