【课程目录】:
-
第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
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 330879038@qq.com 举报,一经查实,本站将立刻删除。
优品资源 » 深度解析Java游戏服务器开发 PDF 完整扫描版
优品资源 » 深度解析Java游戏服务器开发 PDF 完整扫描版