![](/c49/99/10029239305664.jpg)
店鋪:遼寧音像出版社圖書專營店 出版社:機械工業出版社 ISBN:9787111667926 商品編碼:10029239305664 包裝:平裝 出版時間:2021-01-01 作者:彭放
"基本信息 書名:多人在線遊戲架構實戰:基於C++的分布式遊戲編程 代碼: 作者:彭放 著 出版社:機械工業出版社 出版日期:2021-01-01 ISBN:9787111667926 字數: 頁碼:398 版次: 裝幀:平裝 開本:16開 商品重量: 編輯推薦
《多人在線遊戲架構實戰:基於C++的分布式遊戲編程》特點: 從網絡遊戲的底層編碼開始,深入講解遊戲開發的詳細步驟、遊戲主循環、線程的使用、Actor模式的應用等。 以直觀的方式闡述和還原遊戲制作的全過程,全面介紹遊戲編碼過程中眾多的核心概念和具體實現,如定時器、對像池、組件編碼、架構層的解耦等。 使用C++來實現遊戲的架構,讀者也可以舉一反三,使用其他的編程語言輕松實現遊戲開發目標。 客戶端采用Unity引擎。 內容提要
《多人在線遊戲架構實戰:基於C++的分布式遊戲編程》主要講述大型多人在線遊戲開發的框架與編程實踐,以實際例子來介紹從無到有地制作網絡遊戲框架的完整過程,讓讀者了解網絡遊戲制作中的所有細節。 全書共12章,從網絡遊戲的底層網絡編程開始,逐步引導讀者學習網絡遊戲開發的各個步驟。 《多人在線遊戲架構實戰:基於C++的分布式遊戲編程》通過近50個真實示例、近80個流程圖,以直觀的方式闡述和還原遊戲制作的全過程,涵蓋了網絡遊戲設計的核心概念和實現,包括遊戲主循環、線程、Actor模式、定時器、對像池、組件編碼、架構層的解耦等。 《多人在線遊戲架構實戰:基於C++的分布式遊戲編程》既可以作為大學計算機相關專業網絡遊戲開發課程的參考書,叉可以作為網絡遊戲行業從業人員的編程指南。 目錄
前言 n 章 網絡編程基礎1 n 11 單機遊戲與網絡遊戲的區別1 n 12 理解IP地址4 n 13 理解TCP/IP5 n 14 阻塞式網絡編程7 n 141 工程源代碼7 n 142 服務端代碼分析9 n 143 客戶端代碼分析13 n 144 繫統差異14 n 145 網絡底層函數說明14 n 146 小結17 n 15 非阻塞網絡編程17 n 151 工程源代碼18 n 152 服務端代碼分析19 n 153 客戶端代碼分析21 n 154 小結23 n 16 總結24 n 第2章 網絡IO多路復用25 n 21 Select網絡模型25 n 211 ::select函數說明25 n 212 工程源代碼27 n 213 網絡基類:Network29 n 214 NetworkListen分析31 n 215 Server流程詳解35 n 216 NetworkConnector分析37 n 217 測試流程詳解39 n 218 ConnectObj分析41 n 219 Buffer分析42 n 2110 RecvNetworkBuffer分析44 n 2111 SendNetworkBuffer分析48 n 2112 Packet分析50 n 2113 小結55 n 22 Epoll網絡模型55 n 221 函數說明56 n 222 源代碼分析57 n 223 小結60 n 23 網絡協議:protobuf61 n 231 在Windows下編譯使用protobuf62 n 232 在Linux下編譯使用protobuf64 n 233 使用protobuf定義協議66 n 24 總結69 n 第3章 線程、進程以及Actor模型70 n 31 遊戲架構概述70 n 311 無服務端遊戲70 n 312 單進程CS架構71 n 313 多進程CS架構71 n 32 框架瓶頸72 n 321 滾服遊戲72 n 322 副本遊戲73 n 323 大圖分割空間遊戲73 n 33 設計遊戲框架74 n 34 遊戲主循環76 n 35 理解進程和線程77 n 351 進程是什麼77 n 352 線程是什麼78 n 353 C++標準線程庫79 n 36 Actor模型82 n 37 遊戲框架中的線程84 n 371 包裹類ThreadObject85 n 372 線程類Thread85 n 373 線程管理類ThreadMgr86 n 374 libserver庫與遊戲邏輯88 n 38 Actor對像之間的消息處理機制92 n 381 消息定義原則93 n 382 消息隊列機制94 n 39 總結99 n 第4章 賬號登錄與驗證100 n 41 登錄流程圖100 n 42 制作一個簡單的驗證接口101 n 421 Nginx參考配置102 n 422 php-fpm參考配置103 n 43 導入PHP登錄接口104 n 431 修改PHP中的數據庫配置104 n 432 導入測試賬號105 n 433 批量生成賬號105 n 44 編碼中用到的第三方庫106 n 441 庫libcurl106 n 442 庫libjsoncpp107 n 45 賬號驗證代碼分析108 n 451 定義登錄協議號108 n 452 處理協議的Account類110 n 453 Account類如何放置到線程中110 n 454 處理驗證的HttpRequestAccount類112 n 46 結果測試115 n 47 消息過濾機制116 n 48 測試機器人118 n 481 狀態機119 n 482 狀態機基類120 n 483 狀態機管理類120 n 484 Robot類中的狀態機122 n 49 批量登錄測試125 n 410 總結126 n 第5章 性能優化與對像池127 n 51 Visual Studio性能工具127 n 52 內存中的數據結構131 n 521 交換型數據結構131 n 522 刷新型數據結構135 n 53 gprof137 n 531 gprof調用堆棧圖138 n 532 讓進程安全退出139 n 533 用gprof工具查看框架141 n 54 valgrind145 n 55 對像池150 n 551 對像池代碼分析150 n 552 使用cmd命令查看對像池154 n 56 總結155 n 第6章 搭建ECS框架156 n 61 一個簡單的ECS工程156 n 611 組件類Component157 n 612 實體類Entity158 n 613 繫統類System158 n 614 管理類EntitySystem159 n 615 測試161 n 62 基於ECS框架的libserver162 n 621 通過字符串動態創建類163 n 622 提供多參變量來創建實例168 n 623 EntitySystem的工作原理171 n 63 基於ECS框架的login和robots工程177 n 631 Account類177 n 632 動態創建組件或實例178 n 633 ECS框架下的網絡通信185 n 634 執行效率188 n 64 YAML文件189 n 641 YAML編譯安裝189 n 642 讀取YAML配置文件191 n 643 合並線程195 n 65 log4cplus日志197 n 651 log4cplus的編譯安裝197 n 652 配置文件198 n 653 作者介紹
序言
" |