Linux網(wǎng)絡(luò)編程(第2版)(Linux典藏大系)
定 價:89 元
叢書名:Linux典藏大系
- 作者:宋敬彬 等編著
- 出版時間:2014/2/1
- ISBN:9787302335283
- 出 版 社:清華大學出版社
- 中圖法分類:TP316.85
- 頁碼:677
- 紙張:膠版紙
- 版次:2
- 開本:16開
“Linux典藏大系”自2010年陸續(xù)出版以來,因其內(nèi)容豐富、講解細膩、通俗易懂和實用性強等特色而深受廣大讀者的喜愛,長期位居同類圖書銷售排行榜的前列,累計銷量近10萬冊。叢書中部分圖書榮獲51CTO讀書頻道“最受讀者喜愛的原創(chuàng)IT技術(shù)圖書獎”,還有多種圖書的中文繁體字版權(quán)輸出到了中國臺灣地區(qū)出版發(fā)行。叢書中的多個品種被國內(nèi)幾十所培訓機構(gòu)和大中專院校選為教材。叢書的出版還得到了國內(nèi)Linux領(lǐng)域最知名的技術(shù)社區(qū)ChinaUnix的大力支持。讀者在ChinaUnix社區(qū)的論壇上與社區(qū)中的Linux愛好者進行了廣泛的交流,取得了良好的學習效果。2014年2月“Linux典藏大系“全新升級版(第2版)正式出版,第2版圖書迎合了Linux技術(shù)的最新發(fā)展,全部采用當前最流行和穩(wěn)定的Linux發(fā)行版或者相關(guān)工具,是Linux愛好者學習Linux的好幫手!
《Linux網(wǎng)絡(luò)編程(第2版)》是獲得大量讀者好評的“Linux典藏大系”中的《Linux網(wǎng)絡(luò)編程》的第2版!禠inux網(wǎng)絡(luò)編程(第2版)》第1版出版后獲得了讀者的高度評價!禠inux網(wǎng)絡(luò)編程(第2版)》循序漸進,從應(yīng)用層到Linux內(nèi)核,從基本知識點到綜合案例,全面、系統(tǒng)地向讀者介紹了如何在Linux下進行網(wǎng)絡(luò)程序設(shè)計。《Linux網(wǎng)絡(luò)編程(第2版)》涉及面廣,從基本的編程工具介紹和編程環(huán)境搭建,到高級技術(shù)和核心原理,再到項目實戰(zhàn),幾乎涉及Linux網(wǎng)絡(luò)編程的所有重要知識。
《Linux網(wǎng)絡(luò)編程(第2版)》共分4篇。第1篇介紹Linux操作系統(tǒng)概述、Linux編程環(huán)境、文件系統(tǒng)簡介、程序、進程和線程;第2篇介紹TCP/IP協(xié)議族簡介、應(yīng)用層網(wǎng)絡(luò)服務(wù)程序簡介、TCP網(wǎng)絡(luò)編程基礎(chǔ)、服務(wù)器和客戶端信息的獲取、數(shù)據(jù)的IO和復用、基于UDP協(xié)議的接收和發(fā)送、高級套接字、套接字選項、原始套接字、服務(wù)器模型選擇,以及IPv6的簡介;第3篇介紹Linux內(nèi)核中網(wǎng)絡(luò)部分結(jié)構(gòu),以及分布和netfilter框架內(nèi)報文處理;第4篇介紹三個網(wǎng)絡(luò)編程的實例:Web服務(wù)器的例子SHTTPD、網(wǎng)絡(luò)協(xié)議棧的例子SIP、防火墻的例子SIPFW。
《Linux網(wǎng)絡(luò)編程(第2版)》適合所有想全面學習Linux網(wǎng)絡(luò)編程的人員閱讀,也適合已經(jīng)從事Linux網(wǎng)絡(luò)開發(fā)的工程技術(shù)人員使用。對于廣大的Linux平臺下的網(wǎng)絡(luò)程序設(shè)計人員,《Linux網(wǎng)絡(luò)編程(第2版)》更是一本不可多得的參考手冊。
備受推崇的Linux經(jīng)典暢銷書全面升級,ChinaUnix社區(qū)鼎力推薦 資深程序員15年經(jīng)驗總結(jié),深入探討Linux應(yīng)用層和內(nèi)核層的網(wǎng)絡(luò)編程 詳細講解HTTP服務(wù)器、協(xié)議棧和防火墻三個典型案例的實際開發(fā)過程 內(nèi)容全面:全書涵蓋Linux網(wǎng)絡(luò)編程從基礎(chǔ)到高級開發(fā)的方方面面知識點 內(nèi)容深入:重點講解了技術(shù)性較強的Linux用戶空間網(wǎng)絡(luò)編程及內(nèi)核網(wǎng)絡(luò)編程 注重原理:對每個知識點都從原始概念和基本原理進行了詳細和透徹的分析 插圖豐富:對比較復雜和難度較高的內(nèi)容繪制了220余幅原理圖進行講解 代碼經(jīng)典:書中的示例代碼大多是從實際項目總結(jié)而來,有很強的實用性 實踐性強:結(jié)合450余個示例、70余個應(yīng)用實例及3個項目案例進行講解 案例典型:詳細介紹了HTTP網(wǎng)絡(luò)服務(wù)器、協(xié)議棧和防火墻的實現(xiàn)過程推薦閱讀(請點叢書鏈接查看)“Linux典藏大系” (叢書暢銷10萬冊,全面、詳細、深入、實用,Linux愛好者必讀經(jīng)典)
Linux操作系統(tǒng)已經(jīng)成為目前最流行的開源操作系統(tǒng),在服務(wù)器、嵌入式系統(tǒng)有著廣泛的應(yīng)用,并且逐步走入個人電腦的桌面操作系統(tǒng)。Linux的網(wǎng)絡(luò)程序設(shè)計在服務(wù)器領(lǐng)域、嵌入式領(lǐng)域有著廣泛的應(yīng)用。例如Web服務(wù)器、P2P應(yīng)用、嵌入式網(wǎng)絡(luò)機頂盒、IPTV機頂盒、手持設(shè)備等,上述產(chǎn)品大部分采用了開源的Linux系統(tǒng)。因此,熟悉并且能夠編寫網(wǎng)絡(luò)程序代碼,構(gòu)建自己的網(wǎng)絡(luò)架構(gòu)程序是十分重要的。
本書是獲得了大量讀者好評的“Linux典藏大系”中的《Linux網(wǎng)絡(luò)編程》的第2版。本書全面、系統(tǒng)地介紹了Linux網(wǎng)絡(luò)編程技術(shù),其中通過實例重點介紹了Linux的應(yīng)用層網(wǎng)絡(luò)設(shè)計、網(wǎng)絡(luò)協(xié)議棧的實現(xiàn)原理和Linux內(nèi)核防火墻的技術(shù)。學完本書之后,讀者可以有編寫比較復雜項目的本領(lǐng)。
關(guān)于“Linux典藏大系”
“Linux典藏大系”是清華大學出版社自2010年1月以來陸續(xù)推出的一個圖書系列,截止2013年1月,已經(jīng)出版了10余個品種。該系列圖書涵蓋了Linux技術(shù)的方方面面,可以滿足各個層次和各個領(lǐng)域的讀者學習Linux技術(shù)的需求。該系列圖書自出版以來獲得了廣大讀者的好評,已經(jīng)成為Linux圖書市場上最耀眼的明星品牌之一,其銷量在同類圖書中也名列前茅,其中一些圖書還獲得了“51CTO讀書頻道”頒發(fā)的“最受讀者喜愛的原創(chuàng)IT技術(shù)圖書獎”。該系列圖書出版過程中也得到了國內(nèi)Linux領(lǐng)域最知名的技術(shù)社區(qū)ChinaUnix(簡稱CU)的大力支持和幫助,讀者在CU社區(qū)中就圖書的內(nèi)容與活躍在CU社區(qū)中的Linux技術(shù)愛好者進行廣泛交流,將會取得了良好的學習效果。
關(guān)于本書第2版
本書第1版出版后深受讀者好評,并被ChinaUNIX技術(shù)社區(qū)所推薦。但是隨著Linux技術(shù)的發(fā)展,本書第1版的內(nèi)容與Linux各個新版本有一定出入,這給讀者的學習造成了一些不便。應(yīng)廣大讀者的要求,我們結(jié)合Linux技術(shù)的最新發(fā)展推出第2版圖書。相比第1版,第2版圖書在內(nèi)容上的變化主要體現(xiàn)在以下幾個方面:
。1)操作系統(tǒng)環(huán)境從原有的Debian改為更為通用的Ubuntu。
。2)Linux內(nèi)核介紹增加了3.*系列。
。3)對IT業(yè)界的動態(tài)進行了更新。
。4)對一些專有名詞的大小寫進行了更正,如VIM、Emacs。
。5)由于Vim區(qū)分大小寫,尤其在快捷鍵上面。為了避免讀者誤操作,所以對原有的快捷鍵大小寫進行了重新確認,并更正部分錯誤的大小寫。
(6)更正了第1版中的部分描述錯誤,如Objective-C。
。7)對GCC軟件包進行了更新。
。8)為了便于讀者閱讀和使用代碼,對于完整的代碼增加了行號。
。9)更正了部分調(diào)試選項的大小寫錯誤。
。10)對部分Shell命令進行了更新,如fdisk。
。11)對Linux涉及的硬件信息進行了更新,如對Ext4的支持。
(12)對需要重點注意的關(guān)鍵代碼做了加粗。
。13)對部分代碼缺少的庫文件進行了補充。
。14)修改了部分函數(shù)庫的包含關(guān)系。
。15)修改了部分變量的數(shù)據(jù)類型!
。16)修改了部分代碼行號的說明錯誤。
本書的特點
1.循序漸進,由淺入深
為了方便讀者學習,本書首先介紹Linux的開發(fā)環(huán)境,然后介紹基本的網(wǎng)路程序設(shè)計方法,再進行Linux內(nèi)核的網(wǎng)絡(luò)設(shè)計方法。最后,通過3個綜合案例,綜合運用上述知識,讓讀者更深刻地了解網(wǎng)絡(luò)程序設(shè)計的知識。在每一部分的介紹中都是按照由淺入深的方式進行介紹,先介紹基礎(chǔ)知識,再結(jié)合高級知識進行介紹。
2.技術(shù)全面,內(nèi)容充實
本書基本涵蓋了Linux網(wǎng)絡(luò)程序設(shè)計的所有知識面,特別對于高級網(wǎng)絡(luò)編程、原始套接字等高級應(yīng)用層網(wǎng)絡(luò)程序設(shè)計給出了全面的介紹和豐富的例子程序。除了用戶界面的網(wǎng)絡(luò)程序設(shè)計外,本書還對內(nèi)核空間的網(wǎng)絡(luò)程序設(shè)計進行了詳細的介紹,針對netfilter框架,做了很細致的講解,并給出了一個全面使用netfilter框架的案例,以方便讀者深入了解。
3.對比講解,理解深刻
由于Linux程序設(shè)計的知識用于空間和內(nèi)核空間的代碼和模塊是相互作用的,在多個主要函數(shù)介紹過程中,本書對用戶空間和內(nèi)核空間進行交互式的對比介紹,使讀者在了解如何使用的情況下,更深入地了解為什么這樣用,所謂“知其然并知其所以然”。
4.案例精講,深入剖析
根據(jù)本人多年的項目經(jīng)驗,只有實際接觸案例和代碼才能夠?qū)χR點更深入地了解。本書在介紹了Linux網(wǎng)絡(luò)程序設(shè)計知識點的基礎(chǔ)上,通過具有典型意義的3個案例,對各個知識點包括應(yīng)用層的HTTP協(xié)議的Web服務(wù)器、協(xié)議棧原理的協(xié)議棧案例和內(nèi)核網(wǎng)絡(luò)的防火墻案例進行了深入剖析。
本書內(nèi)容及體系結(jié)構(gòu)
第1篇 Linux網(wǎng)絡(luò)開發(fā)基礎(chǔ)(第1~4章)
本篇主要內(nèi)容包括:Linux操作系統(tǒng)概述、Linux編程環(huán)境、文件系統(tǒng)簡介、程序、進程和線程。通過本篇的學習,讀者可以掌握Linux編程的基礎(chǔ)知識,以及編程環(huán)境。
第2篇 Linux用戶層網(wǎng)絡(luò)編程(第5~15章)
本篇主要內(nèi)容包括:TCP/IP協(xié)議族簡介、應(yīng)用層網(wǎng)絡(luò)服務(wù)程序簡介、TCP網(wǎng)絡(luò)編程基礎(chǔ)、服務(wù)器和客戶端信息的獲取、數(shù)據(jù)的IO和復用、基于UDP協(xié)議的接收和發(fā)送、高級套接字、套接字選項、原始套接字、服務(wù)器模型選擇、IPv6簡介。通過本篇的學習,讀者可以掌握Linux網(wǎng)絡(luò)編程的大部分知識。
第3篇 Linux內(nèi)核網(wǎng)絡(luò)編程(第16章和第17章)
本篇主要內(nèi)容包括:Linux內(nèi)核中網(wǎng)絡(luò)部分結(jié)構(gòu),以及分布和netfilter框架內(nèi)報文處理。通過本篇的學習,讀者可以初步了解Linux內(nèi)核網(wǎng)絡(luò)編程的知識。
第4篇 綜合案例(第18~20章)
本篇主要內(nèi)容包括:一個簡單Web服務(wù)器的例子SHTTPD、一個簡單網(wǎng)絡(luò)協(xié)議棧的例子SIP、一個簡單防火墻的例子SIPFW。通過本篇的學習,讀者可以全面了解一個完整可用的Linux網(wǎng)絡(luò)程序是如何編寫的。
本書學習建議
* 建議沒有基礎(chǔ)的讀者,從前至后順次閱讀,盡量不要跳躍。
* 書中的實例和示例建議讀者都要親自上機動手實踐,學習效果會更好。
* 第4篇的內(nèi)容偏重于實戰(zhàn),這部分內(nèi)容在初期可以不需要全面掌握,只要理解思想即可,等讀者有了較多開發(fā)經(jīng)驗后可進一步研讀。
本書讀者對象
* 想全面學習Linux網(wǎng)絡(luò)編程的人員;
* Linux網(wǎng)絡(luò)編程從業(yè)人員;
* Linux網(wǎng)絡(luò)編程愛好者;
* 大中專院校的學生;
* 社會培訓班的學員;
* 需要一本案頭必備手冊的開發(fā)人員。
本書作者
本書由宋敬彬主筆編寫。其他參與編寫的人員有陳超、陳鍇、陳佩霞、陳銳、黎華、李鵬欽、李森、李奕輝、李玉莉、劉仲義、盧香清、魯木應(yīng)、馬向東、麥廷琮、米永剛、歐陽昉、綦彥臣、冉衛(wèi)華、宋永強、滕科平、王秀麗、王玉芹、魏瑩、魏宗壽、溫本利。
雖然我們對書中所述的內(nèi)容都盡量予以核實,并多次進行文字校對,但可能還存在疏漏和不足之處,懇請讀者批評指正。
編著者
宋敬彬,海信集團國家重點實驗室高級工程師,海信數(shù)字家庭原型系統(tǒng)的主要設(shè)計及實現(xiàn)人。有15年的Linux編程經(jīng)驗,對Linux內(nèi)核和網(wǎng)絡(luò)協(xié)議棧十分熟悉。長期從事嵌入式Linux設(shè)備、機頂盒產(chǎn)品和IGRS設(shè)備互聯(lián)的研究和開發(fā)工作。目前主要從事數(shù)字家庭系統(tǒng)的設(shè)計和實現(xiàn)。曾經(jīng)在技術(shù)期刊上發(fā)表過多篇技術(shù)論文,參加過國家863高性能集群服務(wù)器和電子發(fā)展基金的IPv6等項目。
第1篇 Linux網(wǎng)絡(luò)開發(fā)基礎(chǔ)
第1章 Linux操作系統(tǒng)概述
1.1 Linux發(fā)展歷史
1.1.1 Linux的誕生和發(fā)展
1.1.2 Linux名稱的由來
1.2 Linux的發(fā)展要素
1.2.1 UNIX操作系統(tǒng)
1.2.2 Minix操作系統(tǒng)
1.2.3 POSIX標準
1.3 Linux與UNIX的異同
1.4 操作系統(tǒng)類型選擇和內(nèi)核版本的選擇
1.4.1 常見的不同公司發(fā)行的Linux異同
1.4.2 內(nèi)核版本的選擇
1.5 Linux的系統(tǒng)架構(gòu)
1.5.1 Linux內(nèi)核的主要模塊
第1篇 Linux網(wǎng)絡(luò)開發(fā)基礎(chǔ)
第1章 Linux操作系統(tǒng)概述
1.1 Linux發(fā)展歷史
1.1.1 Linux的誕生和發(fā)展
1.1.2 Linux名稱的由來
1.2 Linux的發(fā)展要素
1.2.1 UNIX操作系統(tǒng)
1.2.2 Minix操作系統(tǒng)
1.2.3 POSIX標準
1.3 Linux與UNIX的異同
1.4 操作系統(tǒng)類型選擇和內(nèi)核版本的選擇
1.4.1 常見的不同公司發(fā)行的Linux異同
1.4.2 內(nèi)核版本的選擇
1.5 Linux的系統(tǒng)架構(gòu)
1.5.1 Linux內(nèi)核的主要模塊
1.5.2 Linux的文件結(jié)構(gòu)
1.6 GNU通用公共許可證
1.6.1 GPL許可證的歷史
1.6.2 GPL的自由理念
1.6.3 GPL的基本條款
1.6.4 關(guān)于GPL許可證的爭議
1.7 Linux軟件開發(fā)的可借鑒之處
1.8 小結(jié)
第2章 Linux編程環(huán)境
2.1 Linux環(huán)境下的編輯器
2.1.1 Vim使用簡介
2.1.2 使用Vim建立文件
2.1.3 使用Vim編輯文本
2.1.4 Vim的格式設(shè)置
2.1.5 Vim配置文件.vimrc
2.1.6 使用其他編輯器
2.2 Linux下的GCC編譯器工具集
2.2.1 GCC簡介
2.2.2 編譯程序的基本知識
2.2.3 單個文件編譯成執(zhí)行文件
2.2.4 編譯生成目標文件
2.2.5 多文件編譯
2.2.6 預處理
2.2.7 編譯成匯編語言
2.2.8 生成和使用靜態(tài)鏈接庫
2.2.9 生成動態(tài)鏈接庫
2.2.10 動態(tài)加載庫
2.2.11 GCC常用選項
2.2.12 編譯環(huán)境的搭建
2.3 Makefile文件簡介
2.3.1 一個多文件的工程例子
2.3.2 多文件工程的編譯
2.3.3 Makefile的規(guī)則
2.3.4 Makefile中使用變量
2.3.5 搜索路徑
2.3.6 自動推導規(guī)則
2.3.7 遞歸make
2.3.8 Makefile中的函數(shù)
2.4 用GDB調(diào)試程序
2.4.1 編譯可調(diào)試程序
2.4.2 使用GDB調(diào)試程序
2.4.3 GDB常用命令
2.4.4 其他的GDB
2.5 小結(jié)
第3章 文件系統(tǒng)簡介
3.1 Linux下的文件系統(tǒng)
3.1.1 Linux下文件的內(nèi)涵
3.1.2 文件系統(tǒng)的創(chuàng)建
3.1.3 掛接文件系統(tǒng)
3.1.4 索引節(jié)點inode
3.1.5 普通文件
3.1.6 設(shè)備文件
3.1.7 虛擬文件系統(tǒng)VFS
3.2 文件的通用操作方法
3.2.1 文件描述符
第4章 程序、進程和線程 94
第2篇 Linux用戶層網(wǎng)絡(luò)編程
第5章 TCP/IP協(xié)議族簡介 138
第6章應(yīng)用層網(wǎng)絡(luò)服務(wù)程序簡介 167
第7章 TCP網(wǎng)絡(luò)編程基礎(chǔ) 181
第8章服務(wù)器和客戶端信息的獲取 209
第9章數(shù)據(jù)的IO和復用 236
第10章基于UDP協(xié)議的接收和發(fā)送 265
第11章高級套接字 290
第12章套接字選項 328
第13章原始套接字 374
第14章服務(wù)器模型選擇 410
第15章 IPv6簡介 437
第3篇 Linux內(nèi)核網(wǎng)絡(luò)編程
第16章 Linux內(nèi)核中網(wǎng)絡(luò)部分結(jié)構(gòu)以及分布 464
第17章 netfilter框架內(nèi)報文處理 478
第4篇綜合案例
第18章一個簡單Web服務(wù)器的例子SHTTPD 512
第19章一個簡單網(wǎng)絡(luò)協(xié)議棧的例子SIP 558
第20章一個簡單防火墻的例子SIPFW 620