百万在线

百万在线

作者:罗培羽

出版社:机械工业

出版年:2021年8月

ISBN:9787111687559

所属分类:网络科技

书刊介绍

《百万在线》内容简介

本书首部分:学以致用(第1-4章)。
这部分介绍了Skynet引擎的使用方法及注意事项,以《球球大作战》的案例贯穿其中,全面又详尽地剖析了服务端结构设计、通信协议格式、数据表结构设计、断线重连等方案的核心技术。
本书第二部分:入木三分(第5-7章)。
这部分揭示了在多核时代采用现代C++编写多线程TCP网络服务器的高效做法,以C++重写Skynet的案例贯穿其中,使用大量图表,生动翔实地描述Linux环境下的编程技术。
本书第三部分:各个击破(第8-11章)。
这部分列举了同步算法、热更新、防外挂等实际工程难题,并对其逐一击破,非常具有实用价值。
尽管本书以Skynet为例,但其同样适用于使用C++自研引擎的项目组,甚至是选用Erlang、Golang、Java的开发者。
罗培羽,现就职于广州四三九九公司技术研发中心,参与游戏研发和技术研究工作。曾组织“民间团队”开发同人游戏《仙剑奇侠传5前传之心愿》,是多年来“民间团队”制作3D仙剑同人游戏的一次成功尝试。著有《手把手教你用C#制作RPG游戏》《Unity3D网络游戏实战》等计算机图书,所著图书被部分高校的软件工程专业选为教材。

作品目录

作者简介
推荐语
前言
第一部分
学以致用
第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、结语

相关推荐

微信二维码