發表於2024-11-22
備受推崇的Linux經典暢銷書全麵升級,ChinaUnix社區鼎力推薦
資深程序員15年經驗總結,深入探討Linux應用層和內核層的網絡編程
詳細講解HTTP服務器、協議棧和防火牆三個典型案例的實際開發過程
內容全麵:全書涵蓋Linux網絡編程從基礎到高級開發的方方麵麵知識點
內容深入:重點講解瞭技術性較強的Linux用戶空間網絡編程及內核網絡編程
注重原理:對每個知識點都從原始概念和基本原理進行瞭詳細和透徹的分析
插圖豐富:對比較復雜和難度較高的內容繪製瞭220餘幅原理圖進行講解
代碼經典:書中的示例代碼大多是從實際項目總結而來,有很強的實用性
實踐性強:結閤450餘個示例、70餘個應用實例及3個項目案例進行講解
案例典型:詳細介紹瞭HTTP網絡服務器、協議棧和防火牆的實現過程
“Linux典藏大係”自2010年陸續齣版以來,因其內容豐富、講解細膩、通俗易懂和實用性強等特色而深受廣大讀者的喜愛,長期位居同類圖書銷售排行榜的前列,纍計銷量近10萬冊。叢書中部分圖書榮獲51CTO讀書頻道“受讀者喜愛的原創IT技術圖書奬”,還有多種圖書的中文繁體字版權輸齣到瞭中國颱灣地區齣版發行。叢書中的多個品種被國內幾十所培訓機構和大中專院校選為教材。叢書的齣版還得到瞭國內Linux領域知名的技術社區ChinaUnix的大力支持。讀者在ChinaUnix社區的論壇上與社區中的Linux愛好者進行瞭廣泛的交流,取得瞭良好的學習效果。2014年2月“Linux典藏大係“全新升級版(第2版)正式齣版,第2版圖書迎閤瞭Linux技術的全新發展,全部采用當前流行和穩定的Linux發行版或者相關工具,是Linux愛好者學習Linux的好幫手。
《Linux網絡編程(第2版)》是獲得大量讀者好評的“Linux典藏大係”中的《Linux網絡編程》的第2版。《Linux網絡編程(第2版)》第1版齣版後獲得瞭讀者的高度評價。《Linux網絡編程(第2版)》循序漸進,從應用層到Linux內核,從基本知識點到綜閤案例,全麵、係統地嚮讀者介紹瞭如何在Linux下進行網絡程序設計。《Linux網絡編程(第2版)》涉及麵廣,從基本的編程工具介紹和編程環境搭建,到高級技術和核心原理,再到項目實戰,幾乎涉及Linux網絡編程的所有重要知識。
《Linux網絡編程(第2版)》共分4篇。第1篇介紹Linux操作係統概述、Linux編程環境、文件係統簡介、程序、進程和綫程;第2篇介紹TCP/IP協議族簡介、應用層網絡服務程序簡介、TCP網絡編程基礎、服務器和客戶端信息的獲取、數據的IO和復用、基於UDP協議的接收和發送、高級套接字、套接字選項、原始套接字、服務器模型選擇,以及IPv6的簡介;第3篇介紹Linux內核中網絡部分結構,以及分布和netfilter框架內報文處理;第4篇介紹三個網絡編程的實例:Web服務器的例子SHTTPD、網絡協議棧的例子SIP、防火牆的例子SIPFW。
《Linux網絡編程(第2版)》適閤所有想全麵學習Linux網絡編程的人員閱讀,也適閤已經從事Linux網絡開發的工程技術人員使用。對於廣大的Linux平颱下的網絡程序設計人員,《Linux網絡編程(第2版)》更是一本不可多得的參考手冊。
宋敬彬,海信集團國傢重點實驗室高級工程師,海信數字傢庭原型係統的主要設計及實現人。有15年的Linux編程經驗,對Linux內核和網絡協議棧十分熟悉。長期從事嵌入式Linux設備、機頂盒産品和IGRS設備互聯的研究和開發工作。目前主要從事數字傢庭係統的設計和實現。曾經在技術期刊上發錶過多篇技術論文,參加過國傢863高性能集群服務器和電子發展基金的IPv6等項目。
第1篇 Linux網絡開發基礎
第1章 Linux操作係統概述
1.1 Linux發展曆史
1.1.1 Linux的誕生和發展
1.1.2 Linux名稱的由來
1.2 Linux的發展要素
1.2.1 UNIX操作係統
1.2.2 Minix操作係統
1.2.3 POSIX標準
1.3 Linux與UNIX的異同
1.4 操作係統類型選擇和內核版本的選擇
1.4.1 常見的不同公司發行的Linux異同
1.4.2 內核版本的選擇
1.5 Linux的係統架構
1.5.1 Linux內核的主要模塊
1.5.2 Linux的文件結構
1.6 GNU通用公共許可證
1.6.1 GPL許可證的曆史
1.6.2 GPL的自由理念
1.6.3 GPL的基本條款
1.6.4 關於GPL許可證的爭議
1.7 Linux軟件開發的可藉鑒之處
1.8 小結
第2章 Linux編程環境
2.1 Linux環境下的編輯器
2.1.1 Vim使用簡介
2.1.2 使用Vim建立文件
2.1.3 使用Vim編輯文本
2.1.4 Vim的格式設置
2.1.5 Vim配置文件.vimrc
2.1.6 使用其他編輯器
2.2 Linux下的GCC編譯器工具集
2.2.1 GCC簡介
2.2.2 編譯程序的基本知識
2.2.3 單個文件編譯成執行文件
2.2.4 編譯生成目標文件
2.2.5 多文件編譯
2.2.6 預處理
2.2.7 編譯成匯編語言
2.2.8 生成和使用靜態鏈接庫
2.2.9 生成動態鏈接庫
2.2.10 動態加載庫
2.2.11 GCC常用選項
2.2.12 編譯環境的搭建
2.3 Makefile文件簡介
2.3.1 一個多文件的工程例子
2.3.2 多文件工程的編譯
2.3.3 Makefile的規則
2.3.4 Makefile中使用變量
2.3.5 搜索路徑
2.3.6 自動推導規則
2.3.7 遞歸make
2.3.8 Makefile中的函數
2.4 用GDB調試程序
2.4.1 編譯可調試程序
2.4.2 使用GDB調試程序
2.4.3 GDB常用命令
2.4.4 其他的GDB
2.5 小結
第3章 文件係統簡介
3.1 Linux下的文件係統
3.1.1 Linux下文件的內涵
3.1.2 文件係統的創建
3.1.3 掛接文件係統
3.1.4 索引節點inode
3.1.5 普通文件
3.1.6 設備文件
3.1.7 虛擬文件係統VFS
3.2 文件的通用操作方法
3.2.1 文件描述符
第4章 程序、進程和綫程 94
第2篇 Linux用戶層網絡編程
第5章 TCP/IP協議族簡介 138
第6章應用層網絡服務程序簡介 167
第7章 TCP網絡編程基礎 181
第8章服務器和客戶端信息的獲取 209
第9章數據的IO和復用 236
第10章基於UDP協議的接收和發送 265
第11章高級套接字 290
第12章套接字選項 328
第13章原始套接字 374
第14章服務器模型選擇 410
第15章 IPv6簡介 437
第3篇 Linux內核網絡編程
第16章 Linux內核中網絡部分結構以及分布 464
第17章 netfilter框架內報文處理 478
第4篇綜閤案例
第18章一個簡單Web服務器的例子SHTTPD 512
第19章一個簡單網絡協議棧的例子SIP 558
第20章一個簡單防火牆的例子SIPFW 620
Linux操作係統已經成為目前最流行的開源操作係統,在服務器、嵌入式係統有著廣泛的應用,並且逐步走入個人電腦的桌麵操作係統。Linux的網絡程序設計在服務器領域、嵌入式領域有著廣泛的應用。例如Web服務器、P2P應用、嵌入式網絡機頂盒、IPTV機頂盒、手持設備等,上述産品大部分采用瞭開源的Linux係統。因此,熟悉並且能夠編寫網絡程序代碼,構建自己的網絡架構程序是十分重要的。
本書是獲得瞭大量讀者好評的“Linux典藏大係”中的《Linux網絡編程》的第2版。本書全麵、係統地介紹瞭Linux網絡編程技術,其中通過實例重點介紹瞭Linux的應用層網絡設計、網絡協議棧的實現原理和Linux內核防火牆的技術。學完本書之後,讀者可以有編寫比較復雜項目的本領。
關於“Linux典藏大係”
“Linux典藏大係”是清華大學齣版社自2010年1月以來陸續推齣的一個圖書係列,截止2013年1月,已經齣版瞭10餘個品種。該係列圖書涵蓋瞭Linux技術的方方麵麵,可以滿足各個層次和各個領域的讀者學習Linux技術的需求。該係列圖書自齣版以來獲得瞭廣大讀者的好評,已經成為Linux圖書市場上最耀眼的明星品牌之一,其銷量在同類圖書中也名列前茅,其中一些圖書還獲得瞭“51CTO讀書頻道”頒發的“最受讀者喜愛的原創IT技術圖書奬”。該係列圖書齣版過程中也得到瞭國內Linux領域最知名的技術社區ChinaUnix(簡稱CU)的大力支持和幫助,讀者在CU社區中就圖書的內容與活躍在CU社區中的Linux技術愛好者進行廣泛交流,將會取得瞭良好的學習效果。
關於本書第2版
本書第1版齣版後深受讀者好評,並被ChinaUNIX技術社區所推薦。但是隨著Linux技術的發展,本書第1版的內容與Linux各個新版本有一定齣入,這給讀者的學習造成瞭一些不便。應廣大讀者的要求,我們結閤Linux技術的最新發展推齣第2版圖書。相比第1版,第2版圖書在內容上的變化主要體現在以下幾個方麵:
(1)操作係統環境從原有的Debian改為更為通用的Ubuntu。
(2)Linux內核介紹增加瞭3。*係列。
(3)對IT業界的動態進行瞭更新。
(4)對一些專有名詞的大小寫進行瞭更正,如VIM、Emacs。
(5)由於Vim區分大小寫,尤其在快捷鍵上麵。為瞭避免讀者誤操作,所以對原有的快捷鍵大小寫進行瞭重新確認,並更正部分錯誤的大小寫。
(6)更正瞭第1版中的部分描述錯誤,如Objective-C。
(7)對GCC軟件包進行瞭更新。
(8)為瞭便於讀者閱讀和使用代碼,對於完整的代碼增加瞭行號。
(9)更正瞭部分調試選項的大小寫錯誤。
(10)對部分Shell命令進行瞭更新,如fdisk。
(11)對Linux涉及的硬件信息進行瞭更新,如對Ext4的支持。
(12)對需要重點注意的關鍵代碼做瞭加粗。
(13)對部分代碼缺少的庫文件進行瞭補充。
(14)修改瞭部分函數庫的包含關係。
(15)修改瞭部分變量的數據類型。
(16)修改瞭部分代碼行號的說明錯誤。
本書的特點
1.循序漸進,由淺入深
為瞭方便讀者學習,本書首先介紹Linux的開發環境,然後介紹基本的網路程序設計方法,再進行Linux內核的網絡設計方法。最後,通過3個綜閤案例,綜閤運用上述知識,讓讀者更深刻地瞭解網絡程序設計的知識。在每一部分的介紹中都是按照由淺入深的方式進行介紹,先介紹基礎知識,再結閤高級知識進行介紹。
2.技術全麵,內容充實
本書基本涵蓋瞭Linux網絡程序設計的所有知識麵,特彆對於高級網絡編程、原始套接字等高級應用層網絡程序設計給齣瞭全麵的介紹和豐富的例子程序。除瞭用戶界麵的網絡程序設計外,本書還對內核空間的網絡程序設計進行瞭詳細的介紹,針對netfilter框架,做瞭很細緻的講解,並給齣瞭一個全麵使用netfilter框架的案例,以方便讀者深入瞭解。
3.對比講解,理解深刻
由於Linux程序設計的知識用於空間和內核空間的代碼和模塊是相互作用的,在多個主要函數介紹過程中,本書對用戶空間和內核空間進行交互式的對比介紹,使讀者在瞭解如何使用的情況下,更深入地瞭解為什麼這樣用,所謂“知其然並知其所以然”。
4.案例精講,深入剖析
根據本人多年的項目經驗,隻有實際接觸案例和代碼纔能夠對知識點更深入地瞭解。本書在介紹瞭Linux網絡程序設計知識點的基礎上,通過具有典型意義的3個案例,對各個知識點包括應用層的HTTP協議的Web服務器、協議棧原理的協議棧案例和內核網絡的防火牆案例進行瞭深入剖析。
本書內容及體係結構
第1篇 Linux網絡開發基礎(第1~4章)
本篇主要內容包括:Linux操作係統概述、Linux編程環境、文件係統簡介、程序、進程和綫程。通過本篇的學習,讀者可以掌握Linux編程的基礎知識,以及編程環境。
第2篇 Linux用戶層網絡編程(第5~15章)
本篇主要內容包括:TCP/IP協議族簡介、應用層網絡服務程序簡介、TCP網絡編程基礎、服務器和客戶端信息的獲取、數據的IO和復用、基於UDP協議的接收和發送、高級套接字、套接字選項、原始套接字、服務器模型選擇、IPv6簡介。通過本篇的學習,讀者可以掌握Linux網絡編程的大部分知識。
第3篇 Linux內核網絡編程(第16章和第17章)
本篇主要內容包括:Linux內核中網絡部分結構,以及分布和netfilter框架內報文處理。通過本篇的學習,讀者可以初步瞭解Linux內核網絡編程的知識。
第4篇 綜閤案例(第18~20章)
本篇主要內容包括:一個簡單Web服務器的例子SHTTPD、一個簡單網絡協議棧的例子SIP、一個簡單防火牆的例子SIPFW。通過本篇的學習,讀者可以全麵瞭解一個完整可用的Linux網絡程序是如何編寫的。
本書學習建議
* 建議沒有基礎的讀者,從前至後順次閱讀,盡量不要跳躍。
* 書中的實例和示例建議讀者都要親自上機動手實踐,學習效果會更好。
* 第4篇的內容偏重於實戰,這部分內容在初期可以不需要全麵掌握,隻要理解思想即可,等讀者有瞭較多開發經驗後可進一步研讀。
本書讀者對象
* 想全麵學習Linux網絡編程的人員;
* Linux網絡編程從業人員;
* Linux網絡編程愛好者;
* 大中專院校的學生;
* 社會培訓班的學員;
* 需要一本案頭必備手冊的開發人員。
雖然我們對書中所述的內容都盡量予以核實,並多次進行文字校對,但可能還存在疏漏和不足之處,懇請讀者批評指正。
編著者
Linux網絡編程(第2版) 下載 mobi pdf epub txt 電子書 格式 2024
Linux網絡編程(第2版) 下載 mobi epub pdf 電子書感覺書是舊的。錶麵好髒,但書的內容好好。
評分質量不錯,服務質量很棒!
評分正版,活動價,JD真的很實惠!
評分很不錯的書,隻不過送來的時候發現書被擠壓瞭,送貨速度是真的快,贊師傅速度。
評分看起來挺好上手,適閤我這樣的法律文科生
評分學習通信開發必備書籍 很好 值得購買和收藏
評分不錯,講的挺詳細,不過還是有些錯彆字
評分書的質量挺不錯的,活動力度很大,很不錯!
評分內容一般,正在看前麵幾張,感覺邏輯混亂,語言都有點不通,還有廢話。不過京東確實給力,一如既往的給力。
Linux網絡編程(第2版) mobi epub pdf txt 電子書 格式下載 2024