互联网
类型
8.2
豆瓣评分
可以朗读
语音朗读
245千字
字数
2021-08-01
发行日期
展开全部
主编推荐语
使用Skynet引擎,编写对战游戏,直面工程难题。
内容简介
第一部分:学以致用(第1~4章),这部分介绍了Skynet引擎的使用方法及注意事项,以《球球大作战》的案例贯穿其中,全面又详尽地剖析了服务端结构设计、通信协议格式、数据表结构设计、断线重连等方案的核心技术。
第二部分:入木三分(第5~7章),这部分揭示了在多核时代采用现代C++编写多线程TCP网络服务器的高效做法,以C++重写Skynet的案例贯穿其中,使用大量图表,生动翔实地描述Linux环境下的编程技术。
第三部分:各个击破(第8~11章),这部分列举了同步算法、热更新、防外挂等实际工程难题,并对其逐一击破,非常具有实用价值。尽管本书以Skynet为例,但其同样适用于使用C++自研引擎的项目组,甚至是选用Erlang、Golang、Java的开发者。
目录
- 版权信息
- 作者简介
- 推荐语
- 前言
- 第一部分 学以致用
- 第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 结语
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。