游戏服务器架构与优化 - (EPUB全文下载)
文件大小:0.58 mb。
文件格式:epub 格式。
书籍内容:
游戏服务器架构与优化
第1章 Python网络编程模块
1.1 Python Socket
1.2 服务器端其他Socket方法
1.3 客户端Socket
1.4 通用的Socket方法
1.5 SimpleHTTPServer和BaseHTTPServer
1.6 urllib和urllib2
1.7 事件驱动框架Twisted
第2章 通信加密
2.1 软件、通信加密的几种常用方案
2.2 OpenSSL
2.3 SSL/TLS通信
2.4 其他加密方式
第3章 服务器实作
3.1 构建Python Websocket服务器
3.2 多线程服务器
3.3 线程池
第二部分 存储与数据库
第4章 基础内容存储
4.1 数据库存储的种类
4.2 SQL与NoSQL
4.3 内存与IO读写速度
4.4 同步内存数据
4.5 数据备份和恢复
4.6 不可或缺的SQLite
第5章 存储方案
5.1 高并发服务器的存储方案
5.2 高速缓存
5.3 二进制存储方案
5.4 大规模计算
5.5 区块链技术
第三部分 服务器架构及其方案
第6章 游戏服务器初探
6.1 服务器消息和轮询
6.2 游戏服务器架构演变
6.3 地图的无缝连接
第7章 游戏服务器的交互
7.1 无状态和有状态的服务器设计方案
7.2 轮询
7.3 集群方案
7.4 定时任务
第8章 游戏大厅
8.1 大厅登录流程
8.2 中间件
8.3 聊天服务
8.4 大厅与游戏的对接
第9章 实时交互服务器
9.1 长连接和强交互
9.2 使用UDP的方案
9.3 协议包的设计和实现
9.4 断线重连
第10章 天梯和经济系统
10.1 什么是天梯
10.2 天梯层级
10.3 经济系统
10.4 预留接口和热更新
第11章 服务器承载量和客户端优化方案
11.1 心跳服务
11.2 同步校验
11.3 服务器承载
11.4 守护者进程
11.5 客户端优化方案
第12章 分布式服务器
12.1 什么是分布式系统
12.2 流式处理
12.3 Python分布式框架
附录A 不同语言之间的区别
第1章 Python网络编程模块
作为游戏和软件开发者,不管你是PC客户端或是服务器端程序员,还是手机、Pad移动端程序员,甚至Web程序员,无时不刻都在和网络编程打交道,而日新月异的网络技术以及呈爆炸式增长的应用速度,对我们的编程和业务能力进行了一轮又一轮的轰炸和挑战,幸好在现今开源和大环境的支援下,无数技术前辈和程序员们,以及硬件厂商和软件公司,对所有业务和技术进行了拓展和分工,使得我们在编程的时候,大部分时间只需要将注意力集中在业务的需求和核心模块的开发上,而不需要关注细枝末节的实现,以及对底层系统的分析和理解上,当然这是在大部分情况下。
本书选择Python作为第一编程语言,一是为了能让读者更好地理解和应对实际编程中的问题;二是CPython在标准C函数库的封装上基本沿用了C的写法和参数,对于程序员理解底层也有相当好的帮助;三是Python作为伪代码,对编程的模型及对事务做分析和解释也是比较清晰的一种语法结构,就算读者没有Python编程经验,在看完本书后也将对Python有一定程度的理解,只要稍作学习,就能够编写高效和适应业务的代码。
我们将在第1章介绍Python网络的编程模块,包含较为底层的Socket模块、使用HTTP的urllib,事件驱动的模型和框架,以及各种针对网络编程的方法。
1.1 Python Socket
在开始之前,先对Python和本书所对应的版本号做一个定义。
对于Python来说,最基础的Python实作解释器是使用C语言编写的,也就是说,在普通人的观念中,Python就等于CPython。事实上,这样的定义虽说是约定俗成,但并不精确,作为语言来说,用任何语言去编写其实作的版本都是可行的,Python除了CPython之外,也有Jython、IronPython、PyPy等其他实作版本,而Jython规避了原生C语言带来的多线程问题,这将在后续章节中进行详细剖析。在本书的所有章节中,除非特殊说明,一般使用CPython作为本书的编码版本,而为了照顾绝大多数程序员,以及兼容以往的代码包,Python的大版本号则定为2.7。
Python的Socket库,是Python网络编程中经常用到的一类模块,而Python则是提供了两个模块,一个是标准的Socket,一个是SocketServer。其中使用SocketServer的人不太多,原因是Socket模块已经足够完成任务,而SocketServer则更像是Ruby语言中所提供的封装好的TCPServer、UDPServer等,让人在编写代码的同时更简单和专注。为了能在本章中深入理解Python语言的具体语法结构以及较为底层的Socket接口结构,我们选择Socket模块作为专门讲解的部分。
1.1.1 Socket套接字
Python不少底层模块的封装基本保持了C原型的参数和组织结构,Socket模块也不例外,我们先来看一看如何引入一个Socket模块。
import socket
这样就完成了Socket模块的引入。
当然按照语法,你也可以这样引入模块:
from socket import *
当Python解释器看到import语句后,将会自动从Python安装目录的lib目录寻找需要被import的模块文件。
接下来我们要创建和销毁一个Socket套接字,在开始之前,我们来看一下Python的Socket模块的函数原型:
socket (family, type[, protocal])
也就是使用给定的地址族、套接字类型和协议编号来创建套接字。其中Socket地址族和Socket类型如表1-1所示。
表1-1 Socket套接字地址族和类型表
在下面的章节中,我们将逐步详细地描述有关Python Socket的知识点,以及一些基础知识。
1.1.2 SOCK_STRE ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 游戏服务器架构与优化 - (EPUB全文下载)