论文部分内容阅读
随着网络技术的发展和国家政策的支持,中国游戏产业进入了高速发展的时代。网络游戏的复杂度日益提升,由最初的单机小游戏变成如今几十万人甚至上百万人同时在线的网络虚拟世界,而一个稳定高效的后台服务器则是任何虚拟游戏世界的基础保障。本项目是设计与开发基于socket的游戏服务器端。网络游戏通常由客户端和服务器端组成,无论是端游、手游还是页游都离不开服务器的支持。不同平台上的不同游戏客户端展现的界面都不相同,但是服务器端的基本框架和基本逻辑都是可复用的。本项目开发目的是对通用服务器的底层框架和基本逻辑进行封装。基础框架主要包括数据模块、线程模块、协议模块、对象管理模块、数据库日志模块和网络IO模块等。应用层在基础层框架基础上封装应用层服务器和网关服务器,分别用来处理逻辑和转发协议。本系统的开发使上层逻辑服务器只需要关注游戏本身逻辑而不必关心底层细节以节省开发成本。为实现项目需求,作者设计并实现了基础框架层和应用逻辑层两部分。基础层框架提供各种上层开发需要用的模块:线程模块主要处理多线程和线程安全问题;协议模块封装系统通讯协议;数据模块封装数据流以及数据流的加密和压缩;对象管理模块统一管理程序中的所有服务器对象;数据库日志模块封装数据库操作以及系统日志功能;网络IO模块处理网络的所有相关操作;在应用层实现中,为了提高消息转发和事件驱动效率,本程序引入了libevent和zeromq两个开源网络框架以提高服务器性能和稳定性。应用层模块主要封装了应用服务器和网关服务器。应用服务器主要封装服务器基本逻辑。网关服务器则作为一组应用服务器的接口处理消息转发。在应用层基础上开发的服务器只需要设计服务器对象和通讯协议而不必关注底层细节处理。目前,作者已经基本完成上述所有功能的设计和实现。以本项目为基础开发的应用服务器已经投入使用,并且在性能和稳定性方面都符合预期要求。此项目的开发和使用大大节省了公司服务器方面的开发时间和成本。