
多人在线游戏架构实战:基于C++的分布式游戏编程
¥55.00
作品简介
本书主要讲述大型多人在线游戏开发的框架与编程实践,以实际例子来介绍从无到有地制作网络游戏框架的完整过程,让读者了解网络游戏制作中的所有细节。全书共12章,从网络游戏的底层网络编程开始,逐步引导读者学习网络游戏开发的各个步骤。本书通过近50个真实示例、近80个流程图,以直观的方式阐述和还原游戏制作的全过程,涵盖了网络游戏设计的核心概念和实现,包括游戏主循环、线程、Actor模式、定时器、对象池、组件编码、架构层的解耦等。本书既可以作为大学计算机相关专业网络游戏开发课程的参考书,又可以作为网络游戏行业从业人员的编程指南。
彭放编著。
作品目录
前言
第1章 网络编程基础
1.1 单机游戏与网络游戏的区别
1.2 理解IP地址
1.3 理解TCP/IP
1.4 阻塞式网络编程
1.5 非阻塞网络编程
1.6 总结
第2章 网络IO多路复用
2.1 Select网络模型
2.2 Epoll网络模型
2.3 网络协议:protobuf
2.4 总结
第3章 线程、进程以及Actor模型
3.1 游戏架构概述
3.2 框架瓶颈
3.3 设计游戏框架
3.4 游戏主循环
3.5 理解进程和线程
3.6 Actor模型
3.7 游戏框架中的线程
3.8 Actor对象之间的消息处理机制
3.9 总结
第4章 账号登录与验证
4.1 登录流程图
4.2 制作一个简单的验证接口
4.3 导入PHP登录接口
4.4 编码中用到的第三方库
4.5 账号验证代码分析
4.6 结果测试
4.7 消息过滤机制
4.8 测试机器人
4.9 批量登录测试
4.10 总结
第5章 性能优化与对象池
5.1 Visual Studio性能工具
5.2 内存中的数据结构
5.3 gprof
5.4 valgrind
5.5 对象池
5.6 总结
第6章 搭建ECS框架
6.1 一个简单的ECS工程
6.2 基于ECS框架的libserver
6.3 基于ECS框架的login和robots工程
6.4 YAML文件
6.5 log4cplus日志
6.6 总结
第7章 MySQL数据库
7.1 MySQL Connector/C
7.2 连接时使用的函数说明
7.3 数据库连接组件
7.4 写入数据时使用的函数说明
7.5 写入数据示例
7.6 查询数据时使用的函数说明
7.7 查询数据示例
7.8 数据表的创建与更新
7.9 数据表中的数据结构与protobuf结构
7.10 角色查询与创建流程
7.11 总结
第8章 深入学习组件式编程
8.1 新的系统管理类SystemManager
8.2 allinone工程
8.3 线程分类
8.4 IAwakeSystem接口与对象池
8.5 主动销毁对象
8.6 时间堆
8.7 总结
第9章 服务器管理进程与HTTP
9.1 启动多个login进程
9.2 appmgr进程
9.3 HTTP
9.4 使用Mongoose分析HTTP格式
9.5 为Packet定义新的网络标识
9.6 HTTP分块
9.7 机器人测试批量登录
9.8 总结
第10章 分布式登录与Redis内存数据库
10.1 game与space的定位
10.2 Redis及其第三方库
10.3 性能瓶颈分析
10.4 多进程登录协议回顾
10.5 总结
第11章 分布式跳转方案
11.1 资源数据配置与读取
11.2 地图类World与代理类WorldProxy
11.3 分布式地图跳转流程
11.4 通过客户端进入游戏
11.5 玩家在WorldProxy之间的跳转
11.6 总结
第12章 断线与动态加载系统
12.1 玩家断线
12.2 进程之间的断线
12.3 动态新增系统
12.4 总结
写在最后——如何构建自己的框架
附录A 在CentOS上建立开发环境