论文摘要
论文以网络游戏服务器开发为背景,在研究了如何开发稳定、高效的服务器基础上,给出了利用Windows操作系统提供的一种高效I/O机制-IOCP机制以及多线程处理技术,来设计和开发网络游戏服务器端网络引擎的具体方法。论文首先介绍了网络游戏的发展历史以及网络游戏的分类,对开发网络游戏服务器端网络引擎的主要技术,如IOCP机制,多线程技术以及传输协议等做了研究。接着给出了网络游戏服务器端网络引擎的整体架构,并实现了网络引擎,将整个网络引擎分成三层实现,这三层分别是网络数据高效收发层、网络数据高效处理层和逻辑业务处理层。其中网络数据高效收发层使用了Windows操作系统提供的IOCP机制来设计和实现,它完成了对大量用户并发连接的处理和数据包的高效接收、发送。网络数据高效处理层使用了多种线程来完成对数据包的高效处理,共有三类线程:解包线程,该线程将底层接收到的物理数据包利用环形缓存区分解成一个一个的逻辑数据包;逻辑数据包处理线程,该线程调用逻辑业务处理层提供的方法处理逻辑数据包;发送线程,该线程将要发送的数据经过加密处理后投递到IOCP端口上。逻辑业务处理层与游戏逻辑、游戏协议交互,它主要提供了使用引擎的接口,游戏逻辑开发人员正确的使用这些接口就可以调用底层网络引擎提供的数据传输功能。最后论文给出了作者在引擎基础上实现的一个象棋游戏服务器,并对该服务器做了性能测试,测试结果表明本文开发的网络引擎在面对大量客户并发访问时是稳定的,高效的,达到了预期的水平。
论文目录
摘要Abstract1 绪论1.1 网络游戏概述1.1.1 网络游戏的发展历史1.1.2 网络游戏的分类1.2 研究的背景和目的1.3 论文主要内容2 网络引擎开发相关技术的研究2.1 网络通信技术的研究2.1.1 通信协议2.1.2 客户/服务器编程模型2.2 IOCP机制和使用方法2.2.1 IOCP机制2.2.2 IOCP的使用方法2.3 多线程技术2.3.1 线程概念2.3.2 线程与进程的区别2.3.3 线程的使用3 服务器端网络引擎架构设计4 网络数据高效收发层的设计与实现4.1 网络数据高效收发层的设计4.1.1 句柄唯一数据结构(客户上下文套接字)4.1.2 I/O唯一数据结构(缓冲区)4.1.3 CNetServer类4.2 网络数据高效收发层的实现4.2.1 内存池的实现4.2.2 恶意客户连接4.2.3 数据包乱序4.2.4 监听线程实现4.2.5 服务线程实现4.2.6 虚函数接口5 网络数据高效处理层的设计与实现5.1 网络数据高效处理层的设计5.2 网络数据高效处理层的实现5.2.1 解包线程的实现5.2.2 逻辑数据处理线程的实现5.2.3 数据发送线程的实现5.3 环行缓存区5.3.1 环行缓存区的设计5.3.2 环行缓存区的实现6 逻辑业务处理层6.1 逻辑业务处理层实现说明6.2 象棋游戏服务器的实现7 实现结果及性能测试7.1 实现结果7.2 性能测试结论参考文献攻读硕士学位期间发表学术论文情况致谢
相关论文文献
标签:网络游戏论文; 网络引擎论文; 服务器论文; 环形缓存区论文;