摘要:
论文以网络游戏服务器开发为背景,在研究了如何开发稳定,高效的服务器基础上,给出了利用Windows操作系统提供的一种高效I/O机制-IOCP机制以及多线程处理技术,来设计和开发网络游戏服务器端网络引擎的具体方法. 论文首先介绍了网络游戏的发展历史以及网络游戏的分类,对开发网络游戏服务器端网络引擎的主要技术,如IOCP机制,多线程技术以及传输协议等做了研究.接着给出了网络游戏服务器端网络引擎的整体架构,并实现了网络引擎,将整个网络引擎分成三层实现,这三层分别是网络数据高效收发层,网络数据高效处理层和逻辑业务处理层.其中网络数据高效收发层使用了Windows操作系统提供的IOCP机制来设计和实现,它完成了对大量用户并发连接的处理和数据包的高效接收,发送.网络数据高效处理层使用了多种线程来完成对数据包的高效处理,共有三类线程:解包线程,该线程将底层接收到的物理数据包利用环形缓存区分解成一个一个的逻辑数据包;逻辑数据包处理线程,该线程调用逻辑业务处理层提供的方法处理逻辑数据包;发送线程,该线程将要发送的数据经过加密处理后投递到IOCP端口上.逻辑业务处理层与游戏逻辑,游戏协议交互,它主要提供了使用引擎的接口,游戏逻辑开发人员正确的使用这些接口就可以调用底层网络引擎提供的数据传输功能. 最后论文给出了作者在引擎基础上实现的一个象棋游戏服务器,并对该服务器做了性能测试,测试结果表明本文开发的网络引擎在面对大量客户并发访问时是稳定的,高效的,达到了预期的水平.
展开