-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
C++新經典:Linux C++通信架構實戰 版權信息
- ISBN:9787302555292
- 條形碼:9787302555292 ; 978-7-302-55529-2
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
C++新經典:Linux C++通信架構實戰 本書特色
書中主題 商業項目的完整源碼 從無到有,實現一個商業質量的多線程高并發服務器程序項目框架,只需要增加業務邏輯代碼就可以利用本項目完成實際工作中諸多服務器項目的開發,如網絡游戲服務器、交易服務器、通信服務器等。 商業項目的實現功能 ①按照包頭+包體格式正確接收客戶端發送的數據包, 完美解決數據粘包問題;②根據接收的數據包的不同來執行不同的業務處理邏輯;③把業務處理產生的結果數據包正確返回給客戶端。 商業項目的開發技術 ①epoll高并發通信技術(水平觸發模式LT);②通過線程池技術處理業務邏輯;③線程之間的同步技術包括互斥量與信號量;④連接池中連接的延遲回收技術,極大程度上消除諸多導致服務器程序工作不穩定的因素;⑤其他次要技術,包括信號的處理、配置文件的讀取、日志的打印輸出、調用fork創建子進程、創建守護進程等。 環境標準 VMware Workstation Pro:Ubuntu Linux、g++、Windows:Visual Studio 2019、Visual Studio Code VMware Workstation Pro:Ubuntu Linux、g++ Windows:Visual Studio 2019、Visual Studio Code 程序代碼 全部實例源代碼可以掃描右方二維碼獲取,配套開發工具及更多學習資源可以關注作者公眾號“程序員速成”獲取。
C++新經典:Linux C++通信架構實戰 內容簡介
這是一本Linux下C++通信架構實戰書籍,針對于C/C++語言已經掌握的很熟并希望進一步深造以將來用C++在Linux下從事網絡通信領域/網絡服務器的開發和架構工作。包括如下內容:(1)項目本身是一個極完整的多線程高并發的服務器程序;(2)按照包頭包體格式正確的接收客戶端發送過來的數據包, 完美解決收包時的數據粘包問題;(3)根據收到的包的不同來執行不同的業務處理邏輯;(4)把業務處理產生的結果數據包正確返回給客戶端。
C++新經典:Linux C++通信架構實戰 目錄
第1章課程介紹
1.1本書內容詳細介紹
1.1.1內容總述
1.1.2為什么選擇Linux操作系統平臺
1.1.3講解規劃和學習建議
1.1.4書籍推薦和讀書須知
1.2環境搭建詳細介紹
1.2.1Windows下的Visual Studio 2019安裝
1.2.2準備一個Word文檔
1.2.3Windows下的虛擬機安裝
1.2.4在虛擬機中安裝Linux操作系統
1.2.5配置固定IP地址
1.2.6配置遠程連接
1.2.7安裝編譯工具gcc、g++等
1.2.8共享一個操作目錄
第2章進入Nginx之門
2.1Nginx簡介、選擇理由、安裝和使用
2.1.1Nginx簡介
2.1.2為什么選擇Nginx
2.1.3安裝Nginx,搭建Web服務器
2.1.4Nginx的啟動和簡單使用
2.2Nginx整體結構、進程模型
2.2.1Nginx的整體結構
2.2.2Nginx進程模型細說
第3章Nginx開發初步
3.1學習Nginx源碼前的準備工作
3.1.1Nginx源碼總述
3.1.2Nginx源碼查看工具
3.1.3Nginx源碼入口函數定位
3.1.4創建一個自己的Linux下的C語言程序
3.2Nginx源碼學法,終端和進程的關系
3.2.1Nginx源碼學習方法
3.2.2終端和進程的關系
3.3信號的概念、認識、處理動作
3.3.1信號的基本概念
3.3.2通過kill命令認識一些信號
3.3.3進程的狀態
3.3.4常用信號列舉
3.3.5信號處理的相關動作
3.4UNIX/Linux體系結構、信號編程初步
3.4.1UNIX/Linux操作系統體系結構
3.4.2signal函數范例
3.5信號編程進階、sigprocmask范例
3.5.1信號集(信號屏蔽字)
3.5.2信號相關函數
3.5.3sigprocmask等信號函數范例演示
3.6fork函數詳解、范例演示
3.6.1簡單認識fork函數
3.6.2進一步認識fork函數
3.6.3完善fork代碼
3.6.4一個和fork執行有關的邏輯判斷
3.6.5fork失敗的可能原因
3.7守護進程詳解、范例演示
3.7.1普通進程運行觀察
3.7.2守護進程基本概念
3.7.3守護進程編寫規則
3.7.4守護進程不會收到的信號
3.7.5守護進程和后臺進程的區別
第4章服務器程序框架初步
4.1服務器程序目錄規劃、makefile編寫
4.1.1信號高級認識范例
4.1.2服務器架構初步
4.2讀配置文件、查泄漏、設置標題實戰
4.2.1基礎設施之配置文件讀取
4.2.2內存泄漏的檢查工具
4.2.3設置進程名稱(標題)
4.3日志打印實戰,優化main函數調用順序
4.3.1基礎設施之日志打印實戰代碼一
4.3.2設置時區
4.3.3基礎設施之日志打印實戰代碼二
4.3.4理順main函數中代碼執行順序
4.4信號、子進程實戰,文件I/O詳談
4.4.1信號功能實戰
4.4.2Nginx中創建worker子進程
4.4.3日志輸出重要信息講解
4.4.4write函數思考
4.4.5掉電導致write寫入的數據丟失破解法
4.4.6標準I/O庫
4.5守護進程及信號處理實戰
4.5.1守護進程功能的實現
4.5.2信號處理函數的進一步完善(避免僵尸子進程)
第5章網絡通信實戰
5.1C/S、TCP/IP妙趣橫生、惟妙惟肖談
5.1.1客戶端與服務器端
5.1.2網絡模型
5.1.3*簡單的客戶端和服務器程序實現代碼
5.1.4TCP和UDP的區別
5.2TCP三次握手詳析,telnet、Wireshark示范
5.2.1TCP連接的三次握手
5.2.2telnet工具使用介紹
5.2.3Wireshark監視數據包
5.2.4TCP斷開的四次揮手
5.3TCP狀態轉換,TIME_WAIT詳解,SO_REUSEADDR
5.3.1TCP狀態轉換
5.3.2TIME_WAIT狀態
5.3.3SO_REUSEADDR選項
5.4listen隊列剖析、阻塞與非阻塞、同步與異步
5.4.1listen隊列剖析
5.4.2阻塞與非阻塞I/O
5.4.3異步與同步I/O
5.5監聽端口實戰、epoll介紹及原理詳析
5.5.1監聽端口
5.5.2epoll技術簡介
5.5.3epoll原理與函數介紹
5.6通信代碼精粹之epoll函數實戰1
5.6.1提醒注意
5.6.2配置文件的修改
5.6.3epoll函數實戰
5.7通信代碼精粹之epoll函數實戰2
5.7.1ngx_epoll_process_events函數調用位置
5.7.2ngx_epoll_process_events函數內容
5.7.3ngx_event_accept函數內容
5.7.4總結和測試
5.7.5事件驅動總結
5.7.6一道騰訊后臺開發的面試題
5.8ET、LT深釋,服務器設計、粘包解決
5.8.1ET、LT模式深入分析及測試
5.8.2本項目的服務器設計
5.9通信代碼精粹之收包、解包實戰
5.9.1收包分析及包頭結構定義
5.9.2收包狀態宏定義
5.9.3收包實戰代碼
5.9.4測試服務器收包避免推諉扯皮
第6章服務器業務邏輯處理框架
6.1業務邏輯之多線程、線程池實戰
6.1.1學習方法
6.1.2多線程的提出
6.1.3線程池實戰代碼
6.1.4線程池的使用
6.2業務邏輯之打通業務處理脈搏實戰
6.2.1線程池代碼調整及補充說明
6.2.2線程池實現具體業務之準備代碼
6.2.3threadRecvProcFunc成員函數講解
6.2.4整體測試工作的開展
6.3預發包,多線程資源回收深度思考
6.3.1業務邏輯細節寫法說明
6.3.2連接池中連接回收的深度思考
6.3.3程序(進程)退出時線程的安全終止
6.3.4epoll事件處理的改造
6.3.5連接延遲回收的具體應用
6.4LT發數據機制深釋、gdb調試淺談
6.4.1水平觸發模式(LT)下發送數據深度解釋
6.4.2gdb調試淺談
6.5發數據、信號量、并發、多線程綜合實戰
6.5.1發送數據指導思想
6.5.2發送數據代碼實戰
6.5.3發送數據后續處理代碼
第7章畫龍點睛之服務器安全與完善
7.1過往總結、心跳包代碼實戰
7.1.1前面學習的總結
7.1.2心跳包概念
7.1.3心跳包代碼實戰
7.2控制連入數,黑客攻擊防范及畸形包應對
7.2.1控制并發連入數量
7.2.2黑客攻擊的防范
7.2.3超時直接踢出服務器的需求
7.3超負荷安全處理、綜合壓力測試
7.3.1輸出一些觀察信息
7.3.2遺漏的安全問題思考
7.3.3壓力測試前的準備工作
7.3.4壓力測試
7.4驚群、性能優化大局觀
7.4.1CPU占比與驚群
7.4.2性能優化大局觀
7.4.3性能優化的實施
7.4.4配置*大允許打開的文件句柄數
7.4.5內存池補充說明
第8章總結與展望
8.1遺留問題探討增補之消息跳躍發送
8.1.1調整ngx_write_request_handler函數的代碼順序
8.1.2消息的跳躍發送
8.2結束語、課程總結
8.2.1本書概要總結
8.2.2技術總結
8.2.3項目的用途總結
8.2.4學習方法總結
8.2.5架構師之路
8.2.6代碼統計與再見
C++新經典:Linux C++通信架構實戰 作者簡介
王健偉,1995年畢業于哈爾濱工程大學計算機及應用專業,20多年軟件開發經驗,經歷過數十個軟件項目開發包括網絡通信、網絡安全、網絡游戲等領域,多年的摸爬滾打使自身具備了極其深厚的開發實力和實戰經驗。中國首套網絡安全在線掃描評估系統項目負責人,電子工業出版社2003年《Crystal Reports水晶報表設計與開發實務》書籍作者,全球同服獨立游戲《冒險之路》制作人。
- >
史學評論
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
苦雨齋序跋文-周作人自編集
- >
姑媽的寶刀
- >
上帝之肋:男人的真實旅程
- >
我與地壇
- >
唐代進士錄
- >
有舍有得是人生