基于BOOST的手游服务器端的设计与实现 摘要 互联网的飞速发展给人们带来了越来越多的生活娱乐方式,而基于互联网的手机网络游戏也逐渐成为很多人不可或缺的休闲娱乐方式。蓬勃的游戏市场需求带来了巨大的机会,也推动了手机网络游戏行业相关技术的快速发展。一个手机网络游戏服务器设计的好坏,关系到整个手机网络游戏的负载性、可靠性、安全性等多个方面,很大程度上决定了该手机网络游戏的成败。 在手机网络游戏开发过程中,手机网络游戏服务器是其中最关键的核心技术之一。本文提出了采用BOOST作为手机网络游戏服务器设计的核心技术来实现跨平台的手机网络游戏服务器研究的实际课题。本文以一个动作类的冒险手机游戏为例,研究手机游戏服务器的特点,并对游戏服务器的设计需求进行分析和研究。在深入分析游戏服务器需求的前提下,提出基于 RIA 模式的游戏服务器的架构设计方案。包括基于socket网络访问层设计、网络协议方案设计、数据访问层的设计、游戏业务逻辑层的设计等手机网络游戏服务器的核心内容。针对架构设计,给出游戏服务器每个模块的具体设计思路和实现方法。对游戏服务器进行测试,验证其正确性。本文从实际情况出发,选择了 BOOST 库中的 ASIO 组件作为满足较高负载性的基本技术,采用设计多个服务器形成服务器集群的方法来满足负载性的需求。 本文的主要研究工作内容和成果如下: (1)分析了手机游戏服务器的特点,研究了 BOOST 库的使用方法和采用 BOOST中的 ASIO 组件作为底层技术的网络通信层的构建方法。 (2)提出了基于 C/S模式下的一个格斗类的手机游戏服务器的设计方案。给出了其中的网络访问层、网络协议、数据访问层、游戏业务逻辑层等各个核心模块的具体设计思路和实现方法。 (3)设计并实现了一个格斗类的手机游戏服务器各个模块的功能,对游戏服务器的各功能点进行了测试。论文设计实现的手机游戏服务器具有跨平台、较好的负载性能、可靠性和可扩展性等特点,论文的研究工作对于手机网络游戏服务器的设计有一定的实际参考价值。 关键词: BOOST;跨平台;手机网络游戏服务器;ASIO;手机网络游戏业务逻辑层II 目录 摘要 v ABSTRACT vi 1 绪论 1 1.1 课题研究背景和意义 1 1.2 国内外研究现状 2 1.3 论文的主要研究工作 3 1.4 论文的组织结构安排 4 2 相关技术介绍 5 2.1 开发语言 5 2.1.1 C++语言 5 2.1.2 C++语言的特点 5 2.2 软件部署模式 6 2.3 BOOST 简介 7 2.3.1 ASIO 7 2.3.2 内存管理 10 2.4 数据库 MySQL 12 2.4.1 简介 12 2.4.2 特性 13 2.5 本章小结 13 3 手机网络游戏服务器方案设计 14 3.1 项目需求分析 14 3.1.1 功能需求 14 3.1.2 性能需求 15 3.1.3 数据管理能力要求 15 3.1.4 故障处理要求 16 3.1.5 安全性 16 3.1.6 可靠性 16 3.1.7 总体设计方案 16 3.2 手机网络游戏服务器方案设计 17 3.2.1 登录服务器 17 3.2.2 游戏服务器 18 3.2.3 游戏资源服务器 18 3.2.4 数据服务器 19 3.2.5 网络通信服务 19 3.3 服务器部署图 19 3.4 游戏服务器分层设计 20 3.4.1 网络通信层设计 20 3.4.2 业务层 20 3.4.3 数据访问层 21 3.5 跨平台设计 21 3.6 系统数据库选择及设计 22 3.6.1 中间件选择 22 3.6.2 数据库选择 22 3.6.3 数据库中表的设计 23 3.7 本章小结 27 4 游戏服务器详细设计 29 4.1 开发平台及技术介绍 29 4.2 设计思路 30 4.3 网络通信层的设计与实现 31 4.3.1 数据通信协议 31 4.3.2 网络通信层实现 33 4.4 数据访问层的设计与实现 36 4.5 业务逻辑层的设计与实现 40 4.5.1 区域设计 40 4.5.2 城镇地图 41 4.5.3 副本 43 4.5.5 排行 45 4.5.6 成就 45 4.5.7 交流系统 46 4.6 本章小结 47 5 运行与测试 48 5.1 运行环境 48 5.2 测试 48 5.2.1 运行服务器 48 5.2.2 客户端连接测试 49 5.2.5 商城 54 5.2.6 排行 55 5.2.7 成就 55 5.2.8 聊天及交友 56 5.3 系统性能测试 57 5.4 本章小结 58 6 结论 59 参考文献 61 |
基于BOOST的手游服务器端的设计与实现
更新时间:2020-01-01
下一篇:高校校报网络化服务模式设计研究