多人在线游戏架构实战:基于C++的分布式游戏编程

多人在线游戏架构实战:基于C++的分布式游戏编程

作者:彭放 编著

出版社:机械工业

出版年:2020年11月

ISBN:9787111667926

所属分类:网络科技

书刊介绍

《多人在线游戏架构实战:基于C++的分布式游戏编程》内容简介

本书主要讲述大型多人在线游戏开发的框架与编程实践,以实际例子来介绍从无到有地制作网络游戏框架的完整过程,让读者了解网络游戏制作中的所有细节。全书共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上建立开发环境

相关推荐

微信二维码