论文部分内容阅读
近年来,随着互联网技术的迅速发展,作为深受广大玩家喜爱的网络游戏在这种背景下,也得到了很大的发展。网络游戏以其生动的画面,很好地模拟了现实社会,是一种很受欢迎的娱乐的产品。很多的大型网游在线人数已达到了百万,小型的网游在线人数在万人以上的更是数量巨大。国内已形成了较大型的网游公司,如盛大,网易。有些互联网公司也在积极拓展网游业务。如搜狐,新浪,百度等。网游服务器是网游的重要组成部分,用于处理前台发送的消息命令,随着用户人数的增加,网游服务器的性能,稳定性,安全性变得越来越重要。本文就网游服务器的技术,实现,做了详细的分析,研究。并设计与实现了了主要的网游功能。文章首先介绍了网游服务器的所使用的一些基本技术,包括C语言,C++语言,STL,多线程程序设计,设计模式,C++编程规范,UnixI/O,高级轮循,网络编程,Windows/MFC程序,加密算法,源代码漏洞查找。第三章分析了服务器的各个层及其模块的总体设计文档,详细介绍了网游服务器的通信层,消息层,应用层,业务层的设计,并用图形表示了各个模块之间的关系,各个模块的功能,原理图。第四章分析了服务器的消息层与业务层及其各个模块的详细设计文档,详细说明了消息层,业务层中的各个模块的类的设计,及各类的主要操作的功能,设计原理。并分析了各个类之间的关系。并对各个类的主要函数写了具体的流程与步骤,为下一阶段的实现作好准备。第五章设计了业务层的网络业务功能函数的实现。详细说明了消息层,业务层中的各个模块的类的具体实现,并展示了其具体的代码及流程。并对关键的代码作了注释。第六章设计了服务器的通信层与消息层类的函数的测试文档。详细说明了测试的过程及步骤,有对各个模块的单元测试,有对模块的功能测试,有对整个系统的集成测试,有对系统的性能测试与安全性测试。本文从网游服务器的总体设计,详细设计,实现,测试4个方面全面地介绍了linux下网游服务器的开发过程。实现网游服务器的过程中,考虑到数据的安全性,采用了RC4加密了传输数据,考虑到高效地处理数据,采用了线程池的技术。本服务器完全采用C++的方式开发。在开发时,使用了STL以提高开发效率。为了尽可能地重用,使用了设计模块的几种模块,使得整体结构清晰,很容易得到重用。