注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計多人在線游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程

多人在線游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程

多人在線游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程

定 價:¥109.00

作 者: 彭放 著
出版社: 機(jī)械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111667926 出版時間: 2021-01-01 包裝: 平裝
開本: 16開 頁數(shù): 398 字?jǐn)?shù):  

內(nèi)容簡介

  《多人在線游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程》主要講述大型多人在線游戲開發(fā)的框架與編程實踐,以實際例子來介紹從無到有地制作網(wǎng)絡(luò)游戲框架的完整過程,讓讀者了解網(wǎng)絡(luò)游戲制作中的所有細(xì)節(jié)。全書共12章,從網(wǎng)絡(luò)游戲的底層網(wǎng)絡(luò)編程開始,逐步引導(dǎo)讀者學(xué)習(xí)網(wǎng)絡(luò)游戲開發(fā)的各個步驟?!抖嗳嗽诰€游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程》通過近50個真實示例、近80個流程圖,以直觀的方式闡述和還原游戲制作的全過程,涵蓋了網(wǎng)絡(luò)游戲設(shè)計的核心概念和實現(xiàn),包括游戲主循環(huán)、線程、Actor模式、定時器、對象池、組件編碼、架構(gòu)層的解耦等。《多人在線游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程》既可以作為大學(xué)計算機(jī)相關(guān)專業(yè)網(wǎng)絡(luò)游戲開發(fā)課程的參考書,叉可以作為網(wǎng)絡(luò)游戲行業(yè)從業(yè)人員的編程指南。

作者簡介

暫缺《多人在線游戲架構(gòu)實戰(zhàn):基于C++的分布式游戲編程》作者簡介

圖書目錄

前言
第1章 網(wǎng)絡(luò)編程基礎(chǔ)1
1.1 單機(jī)游戲與網(wǎng)絡(luò)游戲的區(qū)別1
1.2 理解IP地址4
1.3 理解TCP/IP5
1.4 阻塞式網(wǎng)絡(luò)編程7
1.4.1 工程源代碼7
1.4.2 服務(wù)端代碼分析9
1.4.3 客戶端代碼分析13
1.4.4 系統(tǒng)差異14
1.4.5 網(wǎng)絡(luò)底層函數(shù)說明14
1.4.6 小結(jié)17
1.5 非阻塞網(wǎng)絡(luò)編程17
1.5.1 工程源代碼18
1.5.2 服務(wù)端代碼分析19
1.5.3 客戶端代碼分析21
1.5.4 小結(jié)23
1.6 總結(jié)24
第2章 網(wǎng)絡(luò)IO多路復(fù)用25
2.1 Select網(wǎng)絡(luò)模型25
2.1.1 ::select函數(shù)說明25
2.1.2 工程源代碼27
2.1.3 網(wǎng)絡(luò)基類:Network29
2.1.4 NetworkListen分析31
2.1.5 Server流程詳解35
2.1.6 NetworkConnector分析37
2.1.7 測試流程詳解39
2.1.8 ConnectObj分析41
2.1.9 Buffer分析42
2.1.10 RecvNetworkBuffer分析44
2.1.11 SendNetworkBuffer分析48
2.1.12 Packet分析50
2.1.13 小結(jié)55
2.2 Epoll網(wǎng)絡(luò)模型55
2.2.1 函數(shù)說明56
2.2.2 源代碼分析57
2.2.3 小結(jié)60
2.3 網(wǎng)絡(luò)協(xié)議:protobuf61
2.3.1 在Windows下編譯使用protobuf62
2.3.2 在Linux下編譯使用protobuf64
2.3.3 使用protobuf定義協(xié)議66
2.4 總結(jié)69
第3章 線程、進(jìn)程以及Actor模型70
3.1 游戲架構(gòu)概述70
3.1.1 無服務(wù)端游戲70
3.1.2 單進(jìn)程CS架構(gòu)71
3.1.3 多進(jìn)程CS架構(gòu)71
3.2 框架瓶頸72
3.2.1 滾服游戲72
3.2.2 副本游戲73
3.2.3 大圖分割空間游戲73
3.3 設(shè)計游戲框架74
3.4 游戲主循環(huán)76
3.5 理解進(jìn)程和線程77
3.5.1 進(jìn)程是什么77
3.5.2 線程是什么78
3.5.3 C++標(biāo)準(zhǔn)線程庫79
3.6 Actor模型82
3.7 游戲框架中的線程84
3.7.1 包裹類ThreadObject85
3.7.2 線程類Thread85
3.7.3 線程管理類ThreadMgr86
3.7.4 libserver庫與游戲邏輯88
3.8 Actor對象之間的消息處理機(jī)制92
3.8.1 消息定義原則93
3.8.2 消息隊列機(jī)制94
3.9 總結(jié)99
第4章 賬號登錄與驗證100
4.1 登錄流程圖100
4.2 制作一個簡單的驗證接口101
4.2.1 Nginx參考配置102
4.2.2 php-fpm參考配置103
4.3 導(dǎo)入PHP登錄接口104
4.3.1 修改PHP中的數(shù)據(jù)庫配置104
4.3.2 導(dǎo)入測試賬號105
4.3.3 批量生成賬號105
4.4 編碼中用到的第三方庫106
4.4.1 庫libcurl106
4.4.2 庫libjsoncpp107
4.5 賬號驗證代碼分析108
4.5.1 定義登錄協(xié)議號108
4.5.2 處理協(xié)議的Account類110
4.5.3 Account類如何放置到線程中110
4.5.4 處理驗證的HttpRequestAccount類112
4.6 結(jié)果測試115
4.7 消息過濾機(jī)制116
4.8 測試機(jī)器人118
4.8.1 狀態(tài)機(jī)119
4.8.2 狀態(tài)機(jī)基類120
4.8.3 狀態(tài)機(jī)管理類120
4.8.4 Robot類中的狀態(tài)機(jī)122
4.9 批量登錄測試125
4.10 總結(jié)126
第5章 性能優(yōu)化與對象池127
5.1 Visual Studio性能工具127
5.2 內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)131
5.2.1 交換型數(shù)據(jù)結(jié)構(gòu)131
5.2.2 刷新型數(shù)據(jù)結(jié)構(gòu)135
5.3 gprof137
5.3.1 gprof調(diào)用堆棧圖138
5.3.2 讓進(jìn)程安全退出139
5.3.3 用gprof工具查看框架141
5.4 valgrind145
5.5 對象池150
5.5.1 對象池代碼分析150
5.5.2 使用cmd命令查看對象池154
5.6 總結(jié)155
第6章 搭建ECS框架156
6.1 一個簡單的ECS工程156
6.1.1 組件類Component157
6.1.2 實體類Entity158
6.1.3 系統(tǒng)類System158
6.1.4 管理類EntitySystem159
6.1.5 測試161
6.2 基于ECS框架的libserver162
6.2.1 通過字符串動態(tài)創(chuàng)建類163
6.2.2 提供多參變量來創(chuàng)建實例168
6.2.3 EntitySystem的工作原理171
6.3 基于ECS框架的login和robots工程177
6.3.1 Account類177
6.3.2 動態(tài)創(chuàng)建組件或?qū)嵗?78
6.3.3 ECS框架下的網(wǎng)絡(luò)通信185
6.3.4 執(zhí)行效率188
6.4 YAML文件189
6.4.1 YAML編譯安裝189
6.4.2 讀取YAML配置文件191
6.4.3 合并線程195
6.5 log4cplus日志197
6.5.1 log4cplus的編譯安裝197
6.5.2 配置文件198
6.5.3

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號