高速伺服器應用開發: Linux上使用C C++
作者 | 朱文偉/ 李建英 |
---|---|
出版社 | 聯合發行股份有限公司 |
商品描述 | 高速伺服器應用開發: Linux上使用C C++:,本書提供多則跨平台網路程式設計實用案例,馬上提升您的即戰力!★由基礎知識到高級開發技術,詳解Linux網路程式設計★HTTP伺服 |
作者 | 朱文偉/ 李建英 |
---|---|
出版社 | 聯合發行股份有限公司 |
商品描述 | 高速伺服器應用開發: Linux上使用C C++:,本書提供多則跨平台網路程式設計實用案例,馬上提升您的即戰力!★由基礎知識到高級開發技術,詳解Linux網路程式設計★HTTP伺服 |
內容簡介 本書提供多則跨平台網路程式設計實用案例,馬上提升您的即戰力! ★由基礎知識到高級開發技術,詳解Linux網路程式設計 ★HTTP伺服器程式的開發設計 ★FTP程式的開發設計 ★併發聊天伺服器(多人聊天室)開發設計 ★多人使用CS、P2P聯合遊戲架構伺服器設計開發 本書涵蓋Linux網路程式設計從基礎到高級開發的基礎知識,重點講解技術性較強的TCP程式設計、UDP程式設計和I O模型程式設計,同時對每個基礎知識,都從原始概念和基本原理,進行詳細和透徹的分析,並對比較複雜和難度較高的內容,繪製原理圖進行講解。書中的範例程式,大多是從實例總結歸納而來,因此具有很強的實用性。 本書從五大伺服器程式設計基礎技術開始,逐步深入到四大專案案例進行開發實踐,融合基礎知識和一些資料庫、跨平台介面程式設計知識,使得案例系統完整,且包含用戶端,如最後一章的併發遊戲伺服器,只要稍微修改,就可以升級做為商用軟體使用。 通常網路程式設計書只會講解一個綜合案例,而本書提供了HTTP伺服器、FTP伺服器、併發聊天伺服器與C S和P2P聯合架構的併發遊戲伺服器四大專案案例,亦可以作為課程設計和學生畢業設計的素材。
作者介紹 朱文偉 李建英朱文偉,名校計算機專業統招碩士,20年C C++、Java開發經驗。主導開發過密碼、圖形、人工智能等產品。精通Linux、Windows系統開發及數據庫開發技術。著有圖書《Linux C C++服務器開發實踐》《Linux C與C++ 一線開發實踐》《Windows C C++加密解密實戰》《密碼學原理與Java實現》《Visual C++2017從入門到精通》《OpenCV 4.5計算機視覺開發實戰(基於VC++)》《OpenCV 4.5計算機視覺開發實戰:基於Python》。 作者常年從事最前線Linux伺服器程式設計,了解流行的Linux網路程式設計技術,並且擁有相關專案經驗。
產品目錄 第1章 TCP IP基礎 1.1 TCP IP協定的分層結構 1.2 應用層 1.3 傳輸層 1.4 網路層 1.5 資料連結層 第2章 架設Linux開發環境 2.1 準備虛擬機器環境 2.2 架設Linux下C C++開發環境 2.3 架設Windows下Linux C C++開發環境 第3章 多執行緒基本程式設計 3.1 使用多執行緒的好處 3.2 多執行緒程式設計的基本概念 3.3 利用POSIX多執行緒API函數進行多執行緒開發 3.4 C++11中的執行緒類別 3.5 執行緒同步 3.6 基於POSIX進行執行緒同步 3.7 C++11 14中的執行緒同步 3.8 執行緒池 第4章 TCP伺服器程式設計 4.1 通訊端的基本概念 4.2 網路程式的架構 4.3 IP位址的格式轉換 4.4 通訊端的類型 4.5 通訊端地址 4.6 主機位元組序和網路位元組序 4.7 協定族和地址族 4.8 TCP通訊端程式設計的基本步驟 4.9 TCP通訊端程式設計的相關函數 4.10 簡單的TCP通訊端程式設計 4.11 深入理解TCP程式設計 4.12 I O控制命令 4.13 通訊端選項 第5章 UDP伺服器程式設計 5.1 UDP通訊端程式設計的基本步驟 5.2 UDP通訊端程式設計的相關函數 5.3 實戰UDP通訊端 5.4 UDP封包遺失及無序問題 第6章 原始通訊端程式設計 6.1 原始通訊端的強大功能 6.2 創立原始通訊端的方式 6.3 原始通訊端的基本程式設計步驟 6.4 AF_INET方式捕捉封包 6.5 PF_PACKET方式捕捉封包 第7章 伺服器模型設計 7.1 I O模型 7.2 (分時)循環伺服器 7.3 多處理程序併發伺服器 7.4 多執行緒併發伺服器 7.5 I O多工的伺服器 第8章 網路性能工具Iperf 8.1 Iperf的特點 8.2 Iperf的工作原理 8.3 Iperf的主要功能 8.4 Iperf在Linux下的使用 8.5 Iperf在Windows下的使用 第9章 HTTP伺服器程式設計 9.1 CGI程式的工作方式 9.2 架設Web伺服器Apache 9.3 HTTP的工作原理 9.4 HTTP的特點 9.5 HTTP的消息結構 9.6 用戶端請求消息 9.7 伺服器回應訊息 9.8 HTTP狀態碼 9.9 HTTP狀態分碼類 9.10 實現HTTP伺服器 第10章 基於Libevent的FTP伺服器 10.1 Reactor模式 10.2 使用Libevnet的基本流程 10.3 下載和編譯Libevent 10.4 FTP概述 10.5 開發FTP伺服器 10.6 開發FTP用戶端 第11章 併發聊天伺服器 11.1 系統平台的選擇 11.2 系統需求分析 11.3 系統整體設計 11.4 即時通訊系統的實施原理 11.5 功能模組劃分 11.6 資料庫設計 第12章 C S和P2P聯合架構的遊戲伺服器 12.1 網路遊戲伺服器發展現狀 12.2 現有網路遊戲伺服器結構 12.3 P2P網路遊戲技術分析 12.4 網路遊戲的同步機制 12.5 整體設計 12.6 資料庫設計 12.7 伺服器端詳細設計和實現 12.8 客戶端詳細設計和實現
書名 / | 高速伺服器應用開發: Linux上使用C C++ |
---|---|
作者 / | 朱文偉 李建英 |
簡介 / | 高速伺服器應用開發: Linux上使用C C++:,本書提供多則跨平台網路程式設計實用案例,馬上提升您的即戰力!★由基礎知識到高級開發技術,詳解Linux網路程式設計★HTTP伺服 |
出版社 / | 聯合發行股份有限公司 |
ISBN13 / | 9786267273203 |
ISBN10 / | 6267273202 |
EAN / | 9786267273203 |
誠品26碼 / | 2682347914004 |
頁數 / | 632 |
注音版 / | 否 |
裝訂 / | P:平裝 |
語言 / | 1:中文 繁體 |
尺寸 / | 23X17X3.7CM |
級別 / | N:無 |
自序 : 前 言
目前圖書市場上,工作3~4年的Linux開發工程師能參考的實用型網路程式設計書不多,不少Linux網路程式設計書還從編輯器、編譯器如何使用講起,那些內容都是給學生或剛剛工作的人員看的,適用於未接觸過Linux開發的人。Linux網路程式設計最重要的基礎有兩點,一是Linux多執行緒程式設計功力,二是對網路通訊協定的理解。筆者以前撰寫的書籍對Linux基礎程式設計進行了較為詳細的說明,也獲得了不錯的市場回饋。很多讀者都問筆者:下一步想深入地學習Linux程式設計,應該看哪些書?我想,Linux程式設計的兩大就業領域中,一個是嵌入式開發,另一個是網路伺服器程式設計。前者目前書籍較多。而後者,尤其是有深度、符合應徵市場要求的從基礎到案例的網路程式設計書非常少!當前網路系統越來越複雜,應用範圍越來越大,迫切需要新的技術來應對新應用的挑戰。這一點可以從廣大應徵啟事上看得出來。網路程式設計難,難就難在伺服器程式設計。
一本專門說明Linux伺服器程式設計的書,不但能幫助一般工程師提高網路程式設計能力,而且還可以為市場輸送更符合需求的工程師。筆者常年從事最前線Linux伺服器程式設計,了解流行的Linux網路程式設計技術,並且擁有相關專案經驗。
關於本書
本書涵蓋Linux網路程式設計從基礎到高級開發的基礎知識,重點講解了技術性較強的TCP程式設計、UDP程式設計和I/O模型程式設計,同時對每個基礎知識都從原始概念和基本原理進行了詳細和透徹的分析,並對比較複雜和難度較高的內容繪製了原理圖進行講解。書中的範例程式大多是從實際專案複習而來,有很強的實用性。
本書從五大伺服器程式設計基礎技術開始逐步深入到四大專案案例進行開發實踐,融合基礎知識和一些資料庫、跨平台介面程式設計知識,使得我們的案例系統完整且包含用戶端,甚至稍微修改就可以上升為商用軟體,比如最後一章的併發遊戲伺服器。通常在網路程式設計書中,一般只會講解一個綜合案例,而本書提供了HTTP伺服器、FTP伺服器、併發聊天伺服器與C/S和P2P聯合架構的併發遊戲伺服器四大專案案例,可以作為課程設計和學生畢業設計的素材。
本書適用的讀者
本書由於技術全面、講解循序漸進、學習曲線坡度小、註釋詳盡,因此本書適用的讀者面很廣,可作為學校和培訓班教材使用,也可作為工程師自學教材。另外,本書需要讀者有C和C++的基礎,最好是C++11,因為本書的執行緒池用到的語言是基於C++11的。
本書作者與鳴謝
本書筆者為朱文偉和李建英。本書的順利出版,離不開清華大學出版社老師們的幫助,在此表示衷心的感謝。雖然筆者盡了最大努力撰寫本書,但書中依然可能存在疏漏之處,敬請讀者提出寶貴的意見和建議。
作 者
最佳賣點 : 本書提供多則跨平台網路程式設計實用案例,馬上提升您的即戰力!
★由基礎知識到高級開發技術,詳解Linux網路程式設計
★HTTP伺服器程式的開發設計
★FTP程式的開發設計
★併發聊天伺服器(多人聊天室)開發設計
★多人使用CS、P2P聯合遊戲架構伺服器設計開發