深度解析Java游戏服务器开发

出版日期:2017-1
ISBN:9787121301423
作者:何金成

作者简介

为了帮助想了解入门游戏服务器开发的从业人员或非从业人员迅速掌握Java游戏服务器开发的技术,本书从游戏的行业分析、Java技术、游戏逻辑、数据库技术、网络理论、服务器技术、架构分析、系统优化等方面对游戏服务器开发做了全面解析,并对目前市面较热门的游戏进行分析,从行业到理论到技术,再到架构到实战。本书带领读者熟悉Java游戏服务器开发相关领域,帮助想要入门游戏服务器领域的读者更快地了解并掌握相关内容。本书实用性强,既是非游戏行业人员迅速了解并掌握游戏服务器技术的宝典,又是游戏行业从业人员进阶提升的实用手册。本书适合作为非游戏行业但想入门游戏行业的Java工程师、想了解游戏服务端技术的游戏前端工程师、需要游戏服务器开发入门工具书的人员,以及其他对游戏服务器开发有兴趣爱好的各类人员的阅读书籍。

书籍目录

CONTENTS
基础篇 走进游戏开发
第1章 认识游戏
2
1.1 什么是游戏
2
1.1.1 游戏的定义
2
1.1.2 游戏的分类
3
1.2 游戏开发及分工
7
1.3 游戏行业现状分析
12
1.4 游戏服务器开发要点
15
总结
17
第2章 环境搭建
18
2.1 Windows开发环境搭建
18
2.1.1 安装JDK
18
2.1.2 安装Eclipse
20
2.1.3 安装数据库客户端工具
21
2.1.4 安装SSH工具
21
2.1.5 安装其他工具
22
2.2 Mac OS X开发环境搭建
22
2.2.1 安装JDK
23
2.2.2 安装Eclipse
23
2.2.3 安装数据库客户端工具
24
2.2.4 安装SSH工具
24
2.2.5 安装其他工具
24
2.3 Linux服务器环境搭建
25
2.3.1 安装JDK
25
2.3.2 安装Tomcat
26
2.3.3 安装MySQL
26
2.3.4 安装Mongo
28
2.3.5 安装Redis
29
2.3.6 安装Memcache
32
2.4 总结
33
入门篇 游戏开发
第3章 网络通信
36
3.1 通信协议
36
3.1.1 面向连接的TCP
37
3.1.2 面向数据报的UDP
38
3.1.3 HTTP编程
39
3.1.4 Socket编程
46
3.1.5 WebSocket编程
54
3.2 Java NIO基础
58
3.2.1 BIO编程(Blocking-IO,阻塞式IO)
59
3.2.2 NIO编程(Non-Blocking IO,非阻塞式IO)
61
3.2.3 AIO编程(Async IO/NIO.2,异步IO)
68
3.3 Mina的介绍及其使用
75
3.3.1 总体架构
76
3.3.2 IoService
77
3.3.3 IoFilterChain
77
3.3.4 IoHandler
77
3.3.5 IoSession
77
3.3.6 工作原理
78
3.3.7 Acceptor与Connector线程
78
3.3.8 Processor线程
78
3.3.9 线程模型
79
3.3.10 请求的处理顺序
80
3.3.11 Mina编程
81
3.4 Netty的介绍及其使用
88
3.4.1 总体架构
88
3.4.2 零拷贝
89
3.4.3 Codec框架
90
3.4.4 Channel
90
3.4.5 ChannelEvent
91
3.4.6 ChannelPipeline
91
3.4.7 Netty编程
91
总结
100
第4章 数据交互
101
4.1 数据传输格式
101
4.2 JSON的使用及解析
103
4.2.1 JSON语法
103
4.2.2 JSON对象
104
4.2.3 JSON数组
104
4.2.4 Java中的JSON解析
105
4.3 XML的使用及解析
110
4.3.1 XML的特征
111
4.3.2 数据共享
111
4.3.3 数据传输
111
4.3.4 平台兼容
111
4.3.5 JSON与XML的比较
112
4.3.6 Java中的XML解析
112
4.4 Google Protocol Buffer的介绍及使用
128
4.4.1 Protobuffer的安装与编译
128
4.4.2 Protobuffer的语法
129
4.4.3 生成Java类
130
4.4.4 Eclipse的protobuf-dt插件
131
4.4.5 示例程序
132
总结
134
第5章 数据缓存与持久化
135
5.1 游戏数据存储
135
5.1.1 数据分类
136
5.1.2 数据缓存方式
136
5.1.3 数据持久化方式
137
5.1.4 数据库的比较
137
5.2 MySQL的介绍及使用
138
5.2.1 特点
138
5.2.2 数据类型
139
5.2.3 MySQL的使用
139
5.2.4 在Java中使用MySQL
142
5.3 MongoDB的介绍及使用
157
5.3.1 MongoDB的主要特点
157
5.3.2 了解API
159
5.3.3 Mongo的使用
162
5.4 Memcache的介绍及使用
174
5.4.1 Memcache的特点
175
5.4.2 Memcache的使用场景
176
5.4.3 在Java中使用Memcache
177
5.4.4 客户端使用要点
182
5.5 Redis的介绍及使用
183
5.5.1 Redis的特点
183
5.5.2 Redis的持久化
184
5.5.3 Redis的主从复制
184
5.5.4 在Java中使用Redis
185
总结
199
第6章 游戏逻辑
200
6.1 逻辑架构
200
6.1.1 项目目录
200
6.1.2 模块介绍
202
6.2 逻辑流程
212
6.2.1 网络模块
212
6.2.2 线程池
221
6.2.3 启动服务器
222
6.2.4 逻辑请求处理
223
6.2.5 关闭服务器
228
6.3 事件处理器
229
6.4 定时任务
236
6.5 RPC框架
244
6.5.1 Json-rpc
244
6.5.2 Motan
253
总结
264
第7章 游戏安全
265
7.1 游戏安全的必要性
265
7.2 登录安全
266
7.3 游戏充值
266
7.4 SQL注入
267
7.5 通信协议与消息格式
268
7.6 整型溢出
269
7.7 并发请求
269
7.8 逻辑漏洞
270
7.9 日志系统
271
总结
271
高级篇 游戏服务器的设计及优化
第8章 服务器架构分析
274
8.1 服务器架构的演变过程
274
8.2 全区同服架构分析
277
8.2.1 COC架构模型分析
278
8.2.2 COK架构模型分析
279
8.3 分区分服架构分析
281
8.4 弱联网类游戏架构分析
282
8.5 MMORPG类游戏架构分析
283
总结
285
第9章 《皇室战争》游戏开发实战
286
9.1 微竞技游戏介绍
286
9.2 架构分析及搭建
287
9.2.1 功能分析
287
9.2.2 服务器部署架构
288
9.2.3 系统架构
289
9.3 数据持久化方案
290
9.3.1 数据结构分析
290
9.3.2 使用Morphia操作MongoDB
295
9.4 Netty网络框架的使用
300
9.4.1 Netty实现的HTTP服务器
300
9.4.2 Netty实现的TCP服务器
309
9.5 账号系统
316
9.6 个人信息
323
9.7 英雄卡牌系统
327
9.8 宝箱系统
334
9.9 战斗系统
339
9.10 客户端模拟
349
9.10.1 登录界面
349
9.10.2 选服界面
354
9.10.3 主逻辑界面
358
9.10.4 对战界面
363
总结
372
第10章 游戏开发技术前景
373
10.1 Egret
373
10.2 Cocos 2D
374
10.3 Unity
375
10.4 Unreal
376
10.5 Java
376
10.6 Node.js
377
总结
378


 深度解析Java游戏服务器开发下载



发布书评

 
 


精彩短评 (总计1条)

  •     作者很年轻,或许不会有很丰富的经验,但也不妨抱着“三人行必有我师”的态度看一看; 最后总结该书只能算入门吧,深入还得多多实践考量各种场景下的实际情况
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024