游戏服务器架构与优化PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:蔡能著
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111595472
- 页数:314 页
第一部分 网络和服务器 2
第1章 Python网络编程模块 2
1.1 Python Socket 3
1.1.1 Socket套接字 3
1.1.2 SOCK_STREAM、SOCK_DGRAM 4
1.1.3 阻塞和非阻塞模式 5
1.2 服务器端其他Socket方法 7
1.2.1 bind和listen 7
1.2.2 setsockopt 8
1.3 客户端Socket 10
1.4 通用的Socket方法 12
1.4.1 recv和send 12
1.4.2 recvfrom和sendto 13
1.5 SimpleHTTPServer和BaseHTTPServer 14
1.5.1 SimpleHTTPServer 15
1.5.2 BaseHTTPServer 15
1.6 urllib和urllib2 17
1.6.1 urllib.urlopen和urllib2.urlopen 18
1.6.2 urllib2中的GET和POST方法 19
1.7 事件驱动框架Twisted 20
1.7.1 Reactor模式 21
1.7.2 run、stop和callLater 23
1.7.3 Transports、Protocols、Protocol Factoies以及Deferred 24
第2章 通信加密 26
2.1 软件、通信加密的几种常用方案 27
2.1.1 异或位运算加密 27
2.1.2 其他对称加密 29
2.1.3 非对称加密 30
2.2 OpenSSL 33
2.2.1 生成证书 35
2.2.2 公钥和私钥的配置 40
2.3 SSL/TLS通信 43
2.3.1 SSL/TLS连接 45
2.3.2 SSL/TLS HTTPS通信 46
2.4 其他加密方式 49
2.4.1 散列算法 49
2.4.2 BASE64 52
2.4.3 多国语言 53
第3章 服务器实作 55
3.1 构建Python Websocket服务器 55
3.1.1 Websocket的应用场景 57
3.1.2 实作Websocket握手协议 59
3.1.3 MAGIC_STRING在Websocket中的作用 60
3.1.4 Websocket启动 62
3.1.5 Websocket消息拆分和读取 63
3.2 多线程服务器 64
3.2.1 Python的多线程模式 65
3.2.2 锁 68
3.2.3 Python GIL 70
3.2.4 multiprocess的解决思路 72
3.2.5 给Websocket加上多线程 73
3.3 线程池 75
3.3.1 默认线程池和进程池 75
3.3.2 协程 76
3.3.3 第三方库 78
3.3.4 gevent的数据结构 85
第二部分 存储与数据库 94
第4章 基础内容存储 94
4.1 数据库存储的种类 95
4.2 SQL与NoSQL 96
4.2.1 SQL 96
4.2.2 SQL语句语法 97
4.2.3 NoSQL 101
4.2.4 NoSQL语句语法 106
4.3 内存与IO读写速度 108
4.4 同步内存数据 109
4.4.1 Redis数据库的持久性 111
4.4.2 Redis主从数据库复制 112
4.5 数据备份和恢复 113
4.5.1 备份的类型 114
4.5.2 使用Python编写备份代码 115
4.6 不可或缺的SQLite 117
第5章 存储方案 121
5.1 高并发服务器的存储方案 121
5.1.1 网站高并发服务器的策略 122
5.1.2 数据库的锁 125
5.2 高速缓存 127
5.2.1 Memcached 127
5.2.2 大文件缓存 129
5.2.3 分布式和集群 130
5.3 二进制存储方案 132
5.3.1 磁盘IO和缓存 133
5.3.2 图片和影音文件 134
5.4 大规模计算 135
5.4.1 图片服务器的架构 136
5.4.2 读取和写入文本 137
5.4.3 文本搜索方案 138
5.5 区块链技术 139
第三部分 服务器架构及其方案 144
第6章 游戏服务器初探 144
6.1 服务器消息和轮询 144
6.1.1 卡牌游戏和弱连接 145
6.1.2 消息的轮询 147
6.2 游戏服务器架构演变 149
6.2.1 “上古时代”的游戏服务器 149
6.2.2 近代的网络游戏服务器 153
6.2.3 近现代经典游戏服务器模型 155
6.3 地图的无缝连接 157
6.3.1 无缝连接的分析 158
6.3.2 无缝地图更深层次的问题 160
第7章 游戏服务器的交互 165
7.1 无状态和有状态的服务器设计方案 165
7.1.1 无状态的服务器设计方案 166
7.1.2 有状态的服务器设计方案 167
7.2 轮询 169
7.3 集群方案 171
7.3.1 集群的几种方式 171
7.3.2 集群的方案 172
7.3.3 数据库方案 173
7.3.4 Web服务和数据库 174
7.3.5 其他方案 176
7.4 定时任务 178
第8章 游戏大厅 181
8.1 大厅登录流程 181
8.1.1 登录和选择游戏区 182
8.1.2 注册和登录 183
8.2 中间件 185
8.2.1 中间件的相关概念 186
8.2.2 ElasticSearch 191
8.2.3 在Python中使用ES 193
8.3 聊天服务 195
8.3.1 聊天服务器的搭建 195
8.3.2 聊天内容的获取和分发 196
8.4 大厅与游戏的对接 198
8.4.1 创建房间 198
8.4.2 与游戏的对接 199
第9章 实时交互服务器 202
9.1 长连接和强交互 202
9.1.1 TCP连接 203
9.1.2 多线程 205
9.1.3 异步控制 206
9.1.4 加入队列 207
9.2 使用UDP的方案 210
9.2.1 什么是UDP协议 210
9.2.2 TCP协议和UDP协议的区别 212
9.2.3 使用Python编写UDP服务 214
9.2.4 加入多线程 216
9.3 协议包的设计和实现 218
9.3.1 协议包头和包身 219
9.3.2 协议包完整性 221
9.3.3 协议的加密和压缩 222
9.3.4 协议包混淆 223
9.4 断线重连 224
第10章 天梯和经济系统 227
10.1 什么是天梯 227
10.1.1 天梯的框架 229
10.1.2 数据载入 230
10.2 天梯层级 231
10.3 经济系统 234
10.3.1 经济系统简介 234
10.3.2 经济系统的设计 235
10.3.3 通货膨胀 236
10.4 预留接口和热更新 238
10.4.1 如何预留接口 238
10.4.2 代码热更新 241
第11章 服务器承载量和客户端优化方案 243
11.1 心跳服务 243
11.1.1 应用层的心跳服务 245
11.1.2 心跳包协议 246
11.2 同步校验 247
11.2.1 服务器数据包同步 248
11.2.2 游戏世界的同步 248
11.3 服务器承载 251
11.3.1 Python的多线程并发 251
11.3.2 混合C/C++之一 253
11.3.3 混合C/C++之二 257
11.4 守护者进程 266
11.4.1 Windows下的守护者进程 266
11.4.2 监控和重启进程 268
11.5 客户端优化方案 270
11.5.1 优化解决方案 270
11.5.2 游戏引擎 271
第12章 分布式服务器 273
12.1 什么是分布式系统 273
12.1.1 分布式文件系统 275
12.1.2 分布式服务 277
12.1.3 Python实现 278
12.2 流式处理 280
12.2.1 Storm 280
12.2.2 Spark 284
12.2.3 Samza 288
12.2.4 Flink 290
12.2.5 Trident 293
12.3 Python分布式框架 294
附录A 不同语言之间的区别 297
- 《幼儿园游戏 规则性游戏》徐仁吉编 1951
- 《情报学 服务国家安全与发展的现代情报理论》赵冰峰著 2018
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《体育公共服务改革 理想之美与现实之殇》齐超 2019
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《花样民游 幼儿园民间传统游戏的创新与指导》刘娟 2019
- 《会议服务》黄程主编 2015
- 《近代体育游戏教育史料汇编 第2辑 2》王强主编 2016
- 《创新的脚步 全国社区治理和服务创新实验区成果集萃》民政部编写组编著 2018
- 《德国古典美学》曹俊峰,朱立元,张玉能著 2013
- 《媒介与全球化》(美)兰塔能著 2013
- 《纳税筹划 第3版》查方能著 2012
- 《药剂学 第4版》平其能著 2013
- 《三国佛教略史》(日)岛地墨雷,(日)生田得能著;听云,海秋译 1930
- 《实用化学》(美)勃拉克,康能著;孙豫寿译;曹钧石校 1934
- 《开国大祭奠》涂学能著 2009
- 《席勒美学论稿》张玉能著 2009
- 《铁矿的简要找矿和评价方法》李素能著 1959
- 《《C++程序设计教程 第2版》习题及解答》钱能著 2009
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019