您好,欢迎光临有路网!
多人在线游戏架构实战:基于C++的分布式游戏编程
QQ咨询:
有路璐璐:

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

  • 作者:彭放
  • 出版社:机械工业出版社
  • ISBN:9787111667926
  • 出版日期:2020年11月01日
  • 页数:412
  • 定价:¥109.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787111667926
    • 作者
    • 页数
      412
    • 出版时间
      2020年11月01日
    • 定价
      ¥109.00
    • 所属分类
    内容提要
    本书主要讲述大型多人在线游戏开发的框架与编程实战,以实例的形式讲解从零开始制作网络游戏框架的完整过程,让读者了解网络游戏制作中的所有细节。*终得到一个完整的、基于ECS模式的、**的分布式服务端框架,一个可以登录的客户端以及用于验证网络游戏各个模块功能的自动化测试系统。 全书共12章,从网络游戏的底层网络编程开始,逐步引导读者深入网络游戏开发的各个步骤。通过近50个真实示例、90个流程图,以直观的方式阐述和还原游戏制作的全过程,涵盖网络游戏设计的核心概念和实现:游戏主循环、线程、Actor模式、定时器、对象池、组件编码、架构层的解耦等。
    目录
    前言 第1章 网络编程基础1 1.1 单机游戏与网络游戏的区别1 1.2 理解IP地址4 1.3 理解TCP/IP5 1.4 阻塞式网络编程7 1.4.1 工程源代码7 1.4.2 服务端代码分析9 1.4.3 客户端代码分析13 1.4.4 系统差异14 1.4.5 网络底层函数说明14 1.4.6 小结17 1.5 非阻塞网络编程17 1.5.1 工程源代码18 1.5.2 服务端代码分析19 1.5.3 客户端代码分析21 1.5.4 小结23 1.6 总结24 第2章 网络IO多路复用25 2.1 Select网络模型25 2.1.1 ::select函数说明25 2.1.2 工程源代码27 2.1.3 网络基类:Network29 2.1.4 NetworkListen分析31 2.1.5 Server流程详解35 2.1.6 NetworkConnector分析37 2.1.7 测试流程详解39 2.1.8 ConnectObj分析41 2.1.9 Buffer分析42 2.1.10 RecvNetworkBuffer分析44 2.1.11 SendNetworkBuffer分析48 2.1.12 Packet分析50 2.1.13 小结55 2.2 Epoll网络模型55 2.2.1 函数说明56 2.2.2 源代码分析57 2.2.3 小结60 2.3 网络协议:protobuf61 2.3.1 在Windows下编译使用protobuf62 2.3.2 在Linux下编译使用protobuf64 2.3.3 使用protobuf定义协议66 2.4 总结69 第3章 线程、进程以及Actor模型70 3.1 游戏架构概述70 3.1.1 无服务端游戏70 3.1.2 单进程CS架构71 3.1.3 多进程CS架构71 3.2 框架瓶颈72 3.2.1 滚服游戏72 3.2.2 副本游戏73 3.2.3 大图分割空间游戏73 3.3 设计游戏框架74 3.4 游戏主循环76 3.5 理解进程和线程77 3.5.1 进程是什么77 3.5.2 线程是什么78 3.5.3 C++标准线程库79 3.6 Actor模型82 3.7 游戏框架中的线程84 3.7.1 包裹类ThreadObject85 3.7.2 线程类Thread85 3.7.3 线程管理类ThreadMgr86 3.7.4 libserver库与游戏逻辑88 3.8 Actor对象之间的消息处理机制92 3.8.1 消息定义原则93 3.8.2 消息队列机制94 3.9 总结99 第4章 账号登录与验证100 4.1 登录流程图100 4.2 制作一个简单的验证接口101 4.2.1 Nginx参考配置102 4.2.2 php-fpm参考配置103 4.3 导入PHP登录接口104 4.3.1 修改PHP中的数据库配置104 4.3.2 导入测试账号105 4.3.3 批量生成账号105 4.4 编码中用到的第三方库106 4.4.1 库libcurl106 4.4.2 库libjsoncpp107 4.5 账号验证代码分析108 4.5.1 定义登录协议号108 4.5.2 处理协议的Account类110 4.5.3 Account类如何放置到线程中110 4.5.4 处理验证的HttpRequestAccount类112 4.6 结果测试115 4.7 消息过滤机制116 4.8 测试机器人118 4.8.1 状态机119 4.8.2 状态机基类120 4.8.3 状态机管理类120 4.8.4 Robot类中的状态机122 4.9 批量登录测试125 4.10 总结126 第5章 性能优化与对象池127 5.1 Visual Studio性能工具127 5.2 内存中的数据结构131 5.2.1 交换型数据结构131 5.2.2 刷新型数据结构135 5.3 gprof137 5.3.1 gprof调用堆栈图138 5.3.2 让进程**退出139 5.3.3 用gprof工具查看框架141 5.4 valgrind145 5.5 对象池150 5.5.1 对象池代码分析150 5.5.2 使用cmd命令查看对象池154 5.6 总结155 第6章 搭建ECS框架156 6.1 一个简单的ECS工程156 6.1.1 组件类Component157 6.1.2 实体类Entity158 6.1.3 系统类System158 6.1.4 管理类EntitySystem159 6.1.5 测试161 6.2 基于ECS框架的libserver162 6.2.1 通过字符串动态创建类163 6.2.2 提供多参变量来创建实例168 6.2.3 EntitySystem的工作原理171 6.3 基于ECS框架的login和robots工程177 6.3.1 Account类177 6.3.2 动态创建组件或实例178 6.3.3 ECS框架下的网络通信185 6.3.4 执行效率188 6.4 YAML文件189 6.4.1 YAML编译安装189 6.4.2 读取YAML配置文件191 6.4.3 合并线程195 6.5 log4cplus日志197 6.5.1 log4cplus的编译安装197 6.5.2 配置文件198 6.5.3

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外