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

被折叠的 条评论
为什么被折叠?