-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深度解析Java游戲服務器開發

( 簡體 字)
作者:何金成類別:1. -> 程式設計 -> JAVA -> Java
譯者:
出版社:電子工業出版社深度解析Java游戲服務器開發 3dWoo書號: 45771
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:1/1/2017
頁數:392
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121301421
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

Java誕生于20世紀90年代,是一款面向對象的工具,為企業級的計算領域提供解決方案。目前,Java普遍應用于分布式開發及大數據云計算領域,無論是大家手中的安卓手機,還是企業級CS、BS項目,以及微信公眾號和APP后臺開發,處處可見Java的身影,而本書將重點介紹Java在游戲服務器開發領域的應用。
本書特色
本書將講解在游戲開發領域,如何使用Java開發游戲服務器。本書附有豐富的源碼案例,并對目前較熱門的網絡游戲服務器進行分析。
市面上大部分講解Java的書都以Java基礎、JavaEE企業級開發、Android開發、微信開發等為主,本書將重點講解Java在游戲領域的應用——Java作為游戲服務器開發的卓越表現。雖然,服務器領域一直由C++主導,C++優秀的性能在服務器中有著良好的表現,但近些年來,Java也變得越來越優秀,Java在網絡方面的處理性能也有了顯著提升,使用Java開發游戲服務器也成為可能。本書為使用Java開發游戲服務器提供指導,讓有Java基礎的讀者快速入門Java游戲服務器開發。

本書對游戲服務器開發的各種技術都做了詳細介紹,并且源碼中有相應的案例,代碼中也有非常詳細的注釋。對于不容易理解的內容,結合圖表進行講解,使讀者可以有一個更加直觀的認識。
書中涉及的均是目前使用較廣泛、較熱門、較實用的技術,想要了解新技術的人可以把本書作為參考。
本書優勢
雖然目前也有少量關于游戲服務器的書講解得非常細致,但大多是基于C++語言實現的服務端內容,而使用Java開發游戲服務器的開發商越來越多,本書針對的就是有一定Java基礎的人,每章均配有源碼案例,可帶領讀者快速入門Java游戲服務器開發。
為什么是Java?
JDK4提供了NIO類庫——異步IO,NIO框架也越來越被人熟知,而且Mina、Netty都是基于NIO網絡框架的。隨著大規模分布式系統、大數據和流式計算框架的崛起,基于Java構建這些系統已經成為主流,NIO編程和NIO框架也得到了廣泛應用。在互聯網領域,阿里的分布式服務框架Dubbo、RocketMQ、大數據的基礎序列化通信框架Avro,以及很多開源的軟件都已經使用Netty框架構建高性能、分布式的通信。所以,Java是能勝任游戲服務器開發的,也完全能滿足當下的游戲性能要求。
本書各章內容
本書分為基礎篇、入門篇和高級篇三個篇章,共10章。
基礎篇
從游戲行業的基礎知識講起,帶領讀者進入游戲開發領域,做一些前置的準備工作。
第1章
講解游戲的理論知識、游戲行業的現狀及發展、游戲開發中的要點等,讓讀者了解游戲服務器開發的基本內容。
第2章
為后續開發做準備,講解Java開發環境搭建,并介紹了一些常用開發工具。
入門篇
以Java游戲服務器技術為核心,分模塊展開講解,真正從技術上了解并掌握游戲服務器開發技術。
第3章
網絡對游戲服務器起著至關重要的作用,本章講解游戲服務器開發中的網絡層。
第4章
傳輸數據時,需要擬定雙方都能解析的數據格式,使雙方都能辨別。
第5章
游戲數據多種多樣,如何進行數據緩存,如何使數據持久化,本章將一一進行介紹。
第6章
游戲邏輯是游戲服務器的心臟,不同游戲的業務邏輯,對應著不同的邏輯代碼。本章將介紹如何根據游戲業務邏輯進行邏輯層的開發。
第7章
開發游戲服務器時必須要做安全性保護。在外掛滿天飛的時代,一個優秀的游戲服務器必須對各種有意或無意的攻擊做好安全防護。
高級篇
講解游戲服務器的架構設計及系統優化,從更高的角度了解游戲服務器,并用一個實例代碼進行具體說明。
第8章
分析市面上常見網絡游戲的服務器架構,學會分析優秀的架構,了解好的架構對游戲服務器的重要性。
第9章
本章講解一款游戲實戰,指導讀者上手開發一款游戲服務器,了解游戲服務器開發中的基本模式,也是對本書所講內容的一個綜合應用。
第10章
本章展望游戲行業的未來,分析游戲行業的走向。
本書讀者對象
? 非游戲行業但想入門游戲行業的Java工程師。
? 想了解游戲服務端技術的游戲前端工程師。
? 需要游戲服務器開發入門工具書的人員。
? 其他對游戲服務器開發有興趣愛好的各類人員。
內容簡介:

為了幫助想了解入門游戲服務器開發的從業人員或非從業人員迅速掌握Java游戲服務器開發的技術,本書從游戲的行業分析、Java技術、游戲邏輯、數據庫技術、網絡理論、服務器技術、架構分析、系統優化等方面對游戲服務器開發做了全面解析,并對目前市面較熱門的游戲進行分析,從行業到理論到技術,再到架構到實戰。本書帶領讀者熟悉Java游戲服務器開發相關領域,幫助想要入門游戲服務器領域的讀者更快地了解并掌握相關內容。本書實用性強,既是非游戲行業人員迅速了解并掌握游戲服務器技術的寶典,又是游戲行業從業人員進階提升的實用手冊。本書適合作為非游戲行業但想入門游戲行業的Java工程師、想了解游戲服務端技術的游戲前端工程師、需要游戲服務器開發入門工具書的人員,以及其他對游戲服務器開發有興趣愛好的各類人員的閱讀書籍。

目錄:

基礎篇 走進游戲開發
第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
序: