登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介英文書月讀會員書架精選排行榜分類閱讀雜誌音碟 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2018年05月出版新書

2018年04月出版新書

2018年03月出版新書

2018年02月出版新書

2018年01月出版新書

2017年12月出版新書

2017年11月出版新書

2017年10月出版新書

2017年09月出版新書

2017年08月出版新書

2017年07月出版新書

2017年06月出版新書

本頁面簡體字版,由Google翻譯

本頁面繁体字版,由Google翻譯

『簡體書』游戏服务器架构与优化

書城自編碼: 3167368
分類: 圖書→大陸圖書→計算機/網絡→圖形圖像/多媒體
作者: 蔡能
國際書號(ISBN): 9787111595472
出版社: 机械工业出版社
出版日期: 2018-04-1
版次: 1
頁數/字數: 314/275000
書度/開本: 16开 釘裝: 平装

售價:NT$ 419

我要買

share:

驚喜:單張訂單滿NT$1000全台灣免運費!

** 我創建的書架 **
未登入.


掃QRCode手機瀏覽
或傳送本網頁:




新書推薦:
折出童乐:与爸妈一起玩那些年的折纸
《 折出童乐:与爸妈一起玩那些年的折纸 》

售價:NT$ 170
无人幸免
《 无人幸免 》

售價:NT$ 292
战争事典042:维京人征服英格兰·唐代吐蕃简史·莫卧儿皇位之争
《 战争事典042:维京人征服英格兰·唐代吐蕃简史·莫卧儿皇位之争 》

售價:NT$ 317
穿透财报,发现企业的秘密
《 穿透财报,发现企业的秘密 》

售價:NT$ 419
股权估值:原理、方法与案例 (原书第3版)
《 股权估值:原理、方法与案例 (原书第3版) 》

售價:NT$ 525
草根
《 草根 》

售價:NT$ 360
恺撒战记·高卢战记
《 恺撒战记·高卢战记 》

售價:NT$ 254
恺撒战记·内战记
《 恺撒战记·内战记 》

售價:NT$ 307

編輯推薦:
(1)作者是服务器底层技术专家、游戏服务器开发专家,20余年经验总结,曾在网易工作7年,参与过各种类型游戏和应用的服务器的架构、设计和开发;
(2)针对各种游戏和应用所对应的服务器类型,从单机到集群,有针对性地对服务器进行架构上的剖析和优化;
內容簡介:
本书部分描写了Python网络编程和使用Python进行游戏服务器的编写,其中涉及Socket编程中的同步和异步操作,UDP和TCP,还涉及OpenSSL通信加密协议,让读者了解到如何在客户端和服务器端进行通信加密,此外,还特别指出了现在流行的H5游戏所对应的Websocket服务,以及Python的多线程框架。第二部分特别描写了数据库的存储,包括基础内容的数据存储和缓存的存储,第三部分着重分析了各种类型的游戏服务器以及历史渊源,在语言和服务器架构中做一个平衡,分析了各种类型的网络游戏所对应的服务器架构和设计。
目錄
目录?Contents
前 言
第一部分 网络和服务器
第1章 Python网络编程模块2
1.1 Python Socket3
1.1.1 Socket套接字3
1.1.2 SOCK_STREAM、SOCK_DGRAM4
1.1.3 阻塞和非阻塞模式5
1.2 服务器端其他Socket方法7
1.2.1 bind和listen7
1.2.2 setsockopt8
1.3 客户端Socket10
1.4 通用的Socket方法12
1.4.1 recv和send12
1.4.2 recvfrom和sendto13
1.5 SimpleHTTPServer和BaseHTTPServer14
1.5.1 SimpleHTTPServer15
1.5.2 BaseHTTPServer15
1.6 urllib和urllib217
1.6.1 urllib.urlopen和urllib2.urlopen18
1.6.2 urllib2中的GET和POST方法19
1.7 事件驱动框架Twisted20
1.7.1 Reactor模式21
1.7.2 run、stop和callLater23
1.7.3 Transports、Protocols、Protocol Factoies以及Deferred24
第2章 通信加密26
2.1 软件、通信加密的几种常用方案27
2.1.1 异或位运算加密27
2.1.2 其他对称加密29
2.1.3 非对称加密30
2.2 OpenSSL33
2.2.1 生成证书35
2.2.2 公钥和私钥的配置40
2.3 SSLTLS通信43
2.3.1 SSLTLS连接45
2.3.2 SSLTLS HTTPS通信46
2.4 其他加密方式49
2.4.1 散列算法49
2.4.2 BASE6452
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 GIL70
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
第二部分 存储与数据库
第4章 基础内容存储94
4.1 数据库存储的种类95
4.2 SQL与NoSQL96
4.2.1 SQL96
4.2.2 SQL语句语法97
4.2.3 NoSQL101
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 不可或缺的SQLite117
第5章 存储方案121
5.1 高并发服务器的存储方案121
5.1.1 网站高并发服务器的策略122
5.1.2 数据库的锁125
5.2 高速缓存127
5.2.1 Memcached127
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
第三部分 服务器架构及其方案
第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 ElasticSearch191
8.2.3 在Python中使用ES193
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 经济系
內容試閱
Preface?前言为什么要写这本书在人们的观念中,游戏行业是一个既火爆又赚钱的行业,而游戏开发在非游戏开发人员的心里,则是比较神奇的存在。隔行如隔山,游戏究竟是如何开发的?游戏服务器究竟又是怎样工作的?软件服务器后台开发人员对于游戏服务器的开发充满兴趣,而对于本身就是游戏开发者的人来说,对于更深层次的服务器逻辑,各种类型游戏服务器的区分和编写,各种平台的优化,都需要进行更进一步的了解。
作为游戏开发人员,H5 Game和Flash Game之间通信的差异在哪里?MMORPG的服务器究竟该怎么编写?HTTPS通信和普通HTTPS协议有何区分?如何进行分布式编程?如何提高游戏服务器的高并发量?这些都是需要重点关心的问题。
不仅仅是游戏开发人员,作为普通后台开发人员,配置负载均衡,利用后台程序之间的相互通信进行负载,也是比较关心的问题。现今琳琅满目的开发包、开发工具,让这些事情变得事半功倍,在这样的情况下,如何利用现有的工具来进行配置,提高并发量,或者如何利用分布式计算来提高业务效率、工作效率,尽其所能地发挥工具的最大效率,也成为我们必须面对并解决的问题。
对于运维人员来说,面对的不仅仅是服务于程序员的各种后台配置,也需要集群配置、HTTPS,甚至各种类型数据库的配置。
针对以上提到的所有问题,本书会进行深入挖掘。
本书中99%使用Python语言进行代码或者伪代码的编写和说明,为什么使用Python?这是因为虽然开发游戏服务器的语言多种多样,包括CC++、Python、Node.JS等,但Python是目前上升热度最快,且用户呈直线增长的一种语言,其简洁的特性,就算是非专业程序员都可以很快掌握,学习成本不高,且能达到较为满意的产出。
从国内的情况来看,关于Python或游戏开发的书籍都很多,但是将两者合二为一进行讲解和说明的却并不多见。笔者在几十年的工作过程当中,经历了各种各样的项目,虽然大部分属于游戏行业,但其他行业也有涉及,比如视频类网站、人工智能、区块链等。在经历这些项目的过程中,我看到很多的团队和开发人员为了某一个项目和业务的功能进行各种细节上的取舍,或者各种没有经验一脚踩进大坑,这让我萌生编写本书的想法。我希望能尽一点微薄之力,将在游戏后台或其他后台开发过程中所经历的各种问题、优化方案及解决方案,进行一个提炼和汇总,如果能具体解决读者的各种问题,那就是本书之幸,本人之福。
读者对象本书针对游戏服务器、应用服务器后台的优化、搭建以及应用进行讲解和介绍。为了照顾各个层面的读者,本书使用的语言是Python 2.7版本,书中并没有就Python基础规则和语法做详细介绍,因此要求读者具有基本的Python编程知识,比如Python库的导入、pip包安装工具的使用、调用库函数等基础语法知识。事实上,如果你专心花上几个小时的时间自学一下Python,就能具备Python的编程基础。
本书对读者的知识背景没有特定要求,如果你拥有了Python编程基础,看完本书应该对服务器端需要做什么、应该做什么、怎么做,有了然于胸的感觉。具体来说,本书适合以下几类读者阅读:
游戏服务器程序员。本书的核心命题就是游戏服务器的优化,其中涉及游戏服务器的基础、搭建;Socket知识、HTTPS基础;以及使用Python进行实作和优化。无论你是游戏后台开发人员还是客户端开发人员,都可以从书中获益。
应用服务器开发程序员。虽说游戏服务器程序员是重点,但是我们的核心议题仍然是服务器后台的开发,所以从这点来说,应用服务也是后台程序,本书在剖析游戏服务器后台编写和优化的同时,也涉及了分布式系统、集群,甚至Web服务器,或许在阅读本书后你会迸发一些灵感。
运维工程师。事实上,只要是服务器开发,都会涉及运维的工作,而一个好的运维,必须而且一定会涉及各种脚本语言的开发和对现有系统的扩展。当一个团队中的程序员忙得不可开交的时候,一个好的运维能帮助程序员分担40%甚至更多的工作量。本书也介绍和挖掘了后台编码过程中的各种配置和搭建,比如HTTPS的配置、Websocket的Python实现等。如果你是运维工程师,或多或少会从书中汲取一些知识。
Python程序员。Python能做什么?它也能编写游戏服务器吗?答案是肯定的。只要你做得好,搭配得当,使用Python编写游戏后台不会比其他语言差(比如Java),有时候甚至更方便。如果你是Python程序员,又希望涉猎游戏后台的开发,本书一定会对你有极大帮助。
如何阅读本书本书内容从逻辑上共分为三大部分。
第一部分的内容包括第1~3章,主要介绍了Python中网络的基础模块、通信加密,以及一部分服务器实作。其中:
第1章的内容包含Socket套接字的介绍和使用、基础send和recv方法、阻塞和非阻塞方式、urllib和urllib2等Python基础库的使用。
第2章介绍了通信加密,其中包括基础的异或加密、对称和非对称加密,以及OpenSSL、SSLTLS通信方式等的详细介绍。
第3章开始使用Python代码编写实际可运行的服务器代码,并介绍了Websocket协议、GIL的优劣,以及Python线程池的使用。
第二部分的内容包括第

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megbook.com.tw
Copyright (C) 2013 - 2017 (香港)大書城有限公司 All Rights Reserved.