更新时间:2021-09-17 17:05:26
封面
版权信息
作者简介
推荐语
前言
第一部分 学以致用
第1章 从角色走路说起
1.1 每走一步都有事情发生
1.2 从网络编程着手
1.3 能够承载多少玩家
1.4 用分布式扩能
1.5 回头看操作系统
1.6 一张地图的极限
1.7 万物皆Actor
第2章 Skynet入门精要
2.1 下载、编译、运行
2.2 理解Skynet
2.3 第一个程序PingPong
2.4 写Echo,练习网络编程
2.5 做聊天室,学习多人交互
2.6 做留言板,使用数据库
2.7 监控服务状态
2.8 使用节点集群建立分布式系统
2.9 使用Skynet的注意事项
第3章 案例:《球球大作战》
3.1 功能需求
3.2 方案设计
3.3 搭架子:目录结构和配置
3.4 磨刀工:封装易用的API
3.5 分布式登录流程
3.6 代码实现:gateway
3.7 代码实现:login
3.8 代码实现:agentmgr
3.9 代码实现:nodemgr
3.10 代码实现:agent(单机版)
3.11 测试登录流程
3.12 战斗流程梳理
3.13 代码实现:场景服务
3.14 代码实现:agent(跨服务器版)
3.15 改进
第4章 Skynet进阶技法
4.1 用“长度信息”解TCP包
4.2 用Json序列化协议
4.3 用Protobuf高效传输
4.4 如何设计游戏数据库
4.5 如何关闭服务器
4.6 怎样做定时系统
4.7 断线重连
第二部分 入木三分
第5章 你好,C++并发世界
5.1 从HelloWorld开始
5.2 多核多线程
5.3 探索C++对象模型
5.4 队列与锁
5.5 多线程下的对象管理
5.6 充分利用CPU
5.7 演示程序PingPong
5.8 条件变量与唤醒机制
5.9 后台运行
第6章 图解TCP网络模块
6.1 启动网络线程
6.2 半小时搞懂Epoll的用法
6.3 打开监听端口
6.4 网络事件分发
6.5 如何安全读写数据
6.6 写缓冲区满
第7章 嵌入Lua脚本语言
7.1 方案设计
7.2 嵌入Lua虚拟机
7.3 C++调用Lua方法
7.4 Lua调用C++函数
7.5 Lua版的PingPong
7.6 Lua版聊天室
第三部分 各个击破
第8章 同步算法
8.1 同步难题
8.2 客户端障眼法
8.3 各类同步方案及适用场景
8.4 帧同步
8.5 AOI算法
8.6 可靠UDP
第9章 热更新
9.1 Skynet热更新
9.2 切换进程
9.3 动态库
9.4 脚本语言
第10章 防外挂
10.1 不信任客户端
10.2 尽可能多的校验
10.3 反外挂常用措施
第11章 未尽之路
11.1 高并发
11.2 服务端架构
11.3 工程管理
11.4 结语