好书推荐 好书速递 排行榜 读书文摘

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

多人在线游戏架构实战:基于C++的分布式游戏编程
作者:彭放
出版社:机械工业出版社
出版年:2021-01
ISBN:9787111667926
行业:其它
浏览数:3

内容简介

《多人在线游戏架构实战:基于C++的分布式游戏编程》主要讲述大型多人在线游戏开发的框架与编程实践,以实际例子来介绍从无到有地制作网络游戏框架的完整过程,让读者了解网络游戏制作中的所有细节。

全书共12章,从网络游戏的底层网络编程开始,逐步引导读者学习网络游戏开发的各个步骤。

《多人在线游戏架构实战:基于C++的分布式游戏编程》通过近50个真实示例、近80个流程图,以直观的方式阐述和还原游戏制作的全过程,涵盖了网络游戏设计的核心概念和实现,包括游戏主循环、线程、Actor模式、定时器、对象池、组件编码、架构层的解耦等。

《多人在线游戏架构实战:基于C++的分布式游戏编程》既可以作为大学计算机相关专业网络游戏开发课程的参考书,叉可以作为网络游戏行业从业人员的编程指南。

......(更多)

作者简介

......(更多)

目录

前言

第1章 网络编程基础1

11 单机游戏与网络游戏的区别1

12 理解IP地址4

13 理解TCP/IP5

14 阻塞式网络编程7

141 工程源代码7

142 服务端代码分析9

143 客户端代码分析13

144 系统差异14

145 网络底层函数说明14

146 小结17

15 非阻塞网络编程17

151 工程源代码18

152 服务端代码分析19

153 客户端代码分析21

154 小结23

16 总结24

第2章 网络IO多路复用25

21 Select网络模型25

211 ::select函数说明25

212 工程源代码27

213 网络基类:Network29

214 NetworkListen分析31

215 Server流程详解35

216 NetworkConnector分析37

217 测试流程详解39

218 ConnectObj分析41

219 Buffer分析42

2110 RecvNetworkBuffer分析44

2111 SendNetworkBuffer分析48

2112 Packet分析50

2113 小结55

22 Epoll网络模型55

221 函数说明56

222 源代码分析57

223 小结60

23 网络协议:protobuf61

231 在Windows下编译使用protobuf62

232 在Linux下编译使用protobuf64

233 使用protobuf定义协议66

24 总结69

第3章 线程、进程以及Actor模型70

31 游戏架构概述70

311 无服务端游戏70

312 单进程CS架构71

313 多进程CS架构71

32 框架瓶颈72

321 滚服游戏72

322 副本游戏73

323 大图分割空间游戏73

33 设计游戏框架74

34 游戏主循环76

35 理解进程和线程77

351 进程是什么77

352 线程是什么78

353 C++标准线程库79

36 Actor模型82

37 游戏框架中的线程84

371 包裹类ThreadObject85

372 线程类Thread85

373 线程管理类ThreadMgr86

374 libserver库与游戏逻辑88

38 Actor对象之间的消息处理机制92

381 消息定义原则93

382 消息队列机制94

39 总结99

第4章 账号登录与验证100

41 登录流程图100

42 制作一个简单的验证接口101

421 Nginx参考配置102

422 php-fpm参考配置103

43 导入PHP登录接口104

431 修改PHP中的数据库配置104

432 导入测试账号105

433 批量生成账号105

44 编码中用到的第三方库106

441 库libcurl106

442 库libjsoncpp107

45 账号验证代码分析108

451 定义登录协议号108

452 处理协议的Account类110

453 Account类如何放置到线程中110

454 处理验证的HttpRequestAccount类112

46 结果测试115

47 消息过滤机制116

48 测试机器人118

481 状态机119

482 状态机基类120

483 状态机管理类120

484 Robot类中的状态机122

49 批量登录测试125

410 总结126

第5章 性能优化与对象池127

51 Visual Studio性能工具127

52 内存中的数据结构131

521 交换型数据结构131

522 刷新型数据结构135

53 gprof137

531 gprof调用堆栈图138

532 让进程安全退出139

533 用gprof工具查看框架141

54 valgrind145

55 对象池150

551 对象池代码分析150

552 使用cmd命令查看对象池154

56 总结155

第6章 搭建ECS框架156

61 一个简单的ECS工程156

611 组件类Component157

612 实体类Entity158

613 系统类System158

614 管理类EntitySystem159

615 测试161

62 基于ECS框架的libserver162

621 通过字符串动态创建类163

622 提供多参变量来创建实例168

623 EntitySystem的工作原理171

63 基于ECS框架的login和robots工程177

631 Account类177

632 动态创建组件或实例178

633 ECS框架下的网络通信185

634 执行效率188

64 YAML文件189

641 YAML编译安装189

642 读取YAML配置文件191

643 合并线程195

65 log4cplus日志197

651 log4cplus的编译安装197

652 配置文件198

653

......(更多)

读书文摘

......(更多)

猜你喜欢

点击查看