| 書名: | UNIX網絡編程(捲1)-套接字聯網API(D3版) | ||
| 作者: | (美)Stevens | 開本: | |
| YJ: | 129 | 頁數: | |
| 現價: | 見1;CY =CY部 | 齣版時間 | 2015-08 |
| 書號: | 9787115367198 | 印刷時間: | |
| 齣版社: | 人民郵電齣版社 | 版次: | |
| 商品類型: | 正版圖書 | 印次: | |
W. Richard Stevens(1951—1999) GJ知名的UNIX和網絡專傢,備受贊譽的技術作傢。生前著有《TCP/IP詳解》(三捲)、《UNIX環境GJ編程》和《UNIX網絡編程》(兩捲),均為不朽的經典著作。
Bill Fenner AT&T;實驗室主任研究員,專攻IP多播、網絡管理和測量,他是IETF路由的領域主管之一,是RFC標準文檔的批準人。
Andrew M. Rudoff Sun公司ZS軟件工程師,專攻網絡、操作係統內核、文件係統和高可用性軟件體係結構。
精彩導讀 目錄 D一部分 簡介和TCP/IP
D1章 簡介
1.1 概述
1.2 一個簡單的時間獲取客戶程序
1.3 協議無關性
1.4 錯誤處理:包裹函數
1.5 一個簡單的時間獲取服務器程序
1.6 本書中客戶/服務器程序示例索引錶
1.7 OSI模型
1.8 BSD網絡支持曆史
1.9 測試用網絡及主機
1.10 Unix標準
1.11 64位體係結構
1.12 小結
習題
D2章 傳輸層:TCP、UDP和SCTP
2.1 概述
2.2 總圖
2.3 用戶數據報協議(UDP)
2.4 傳輸控製協議(TCP)
2.5 流控製傳輸協議(SCTP)
2.6 TCP連接的建立和終止
2.7 TIME_WAIT狀態
2.8 SCTP關聯的建立和終止
2.9 端口號
2.10 TCP端口號與並發服務器
2.11 緩衝區大小及限製
2.12 標準因特網服務
2.13 常見因特網應用的協議使用
2.14 小結
習題
D二部分 基本套接字編程
D3章 套接字編程簡介
3.1 概述
3.2 套接字地址結構
3.3 值—結果參數
3.4 字節排序函數
3.5 字節操縱函數
3.6 inet_aton、inet_addr和inet_ntoa函數
3.7 inet_pton和inet_ntop函數
3.8 sock_ntop和相關函數
3.9 readn、writen和readline函數
3.10 小結
習題
D4章 基本TCP套接字編程
4.1 概述
4.2 socket函數
4.3 connect函數
4.4 bind函數
4.5 listen函數
4.6 accept函數
4.7 fork和exec函數
4.8 並發服務器
4.9 close函數
4.10 getsockname和getpeername函數
4.11 小結
習題
D5章 TCP客戶/服務器程序示例
5.1 概述
5.2 TCP迴射服務器程序:main函數
5.3 TCP迴射服務器程序:str_echo函數
5.4 TCP迴射客戶程序:main函數
5.5 TCP迴射客戶程序:str_cli函數
5.6 正常啓動
5.7 正常終止
5.8 POSIX信號處理
5.9 處理SIGCHLD信號
5.10 wait和waitpid函數
5.11 accept返迴前連接中止
5.12 服務器進程終止
5.13 SIGPIPE信號
5.14 服務器主機崩潰
5.15 服務器主機崩潰後重啓
5.16 服務器主機關機
5.17 TCP程序例子小結
5.18 數據格式
5.19 小結
習題
D6章 I/O復用:select和poll函數
6.1 概述
6.2 I/O模型
6.3 select函數
6.4 str_cli函數(修訂版)
6.5 批量輸入
6.6 shutdown函數
6.7 str_cli函數(再修訂版)
6.8 TCP迴射服務器程序(修訂版)
6.9 pselect函數
6.10 poll函數
6.11 TCP迴射服務器程序(再修訂版)
6.12 小結
習題
D7章 套接字選項
7.1 概述
7.2 getsockopt和setsockopt函數
7.3 檢查選項是否受支持並獲取默認值
7.4 套接字狀態
7.5 通用套接字選項
7.6 IPv4套接字選項
7.7 ICMPv6套接字選項
7.8 IPv6套接字選項
7.9 TCP套接字選項
7.10 SCTP套接字選項
7.11 fcntl函數
7.12 小結
習題
D8章 基本UDP套接字編程
8.1 概述
8.2 recvfrom和sendto函數
8.3 UDP迴射服務器程序:main函數
8.4 UDP迴射服務器程序:dg_echo函數
8.5 UDP迴射客戶程序:main函數
8.6 UDP迴射客戶程序:dg_cli函數
8.7 數據報的丟失
8.8 驗證接收到的響應
8.9 服務器進程未運行
8.10 UDP程序例子小結
8.11 UDP的connect函數
8.12 dg_cli函數(修訂版)
8.13 UDP缺乏流量控製
8.14 UDP中的外齣接口的確定
8.15 使用select函數的TCP和UDP迴射服務器程序
8.16 小結
習題
D9章 基本SCTP套接字編程
9.1 概述
9.2 接口模型
9.3 sctp_bindx函數
9.4 sctp_connectx函數
9.5 sctp_getpaddrs函數
9.6 sctp_freepaddrs函數
9.7 sctp_getladdrs函數
9.8 sctp_freeladdrs函數
9.9 sctp_sendmsg函數
9.10 sctp_recvmsg函數
9.11 sctp_opt_info函數
9.12 sctp_peeloff函數
9.13 shutdown函數
9.14 通知
9.15 小結
習題
D10章 SCTP客戶/服務器程序例子
10.1 概述
10.2 SCTP一到多式流分迴射服務器程序:main函數
10.3 SCTP一到多式流分迴射客戶程序:main函數
10.4 SCTP流分迴射客戶程序:sctpstr_cli函數
10.5 探究頭端阻塞
10.6 控製流的數目
10.7 控製終結
10.8 小結
習題
D11章 名字與地址轉換
11.1 概述
11.2 域名係統
11.3 gethostbyname函數
11.4 gethostbyaddr函數
11.5 getservbyname和getservbyport函數
11.6 getaddrinfo函數
11.7 gai_strerror函數
11.8 freeaddrinfo函數
11.9 getaddrinfo函數:IPv6
11.10 getaddrinfo函數:例子
11.11 host_serv函數
11.12 tcp_connect函數
11.13 tcp_listen函數
11.14 udp_client函數
11.15 udp_connect函數
11.16 udp_server函數
11.17 getnameinfo函數
11.18 可重入函數
11.19 gethostbyname_r和gethostbyaddr_r函數
11.20 作廢的IPv6地址解析函數
11.21 其他網絡相關信息
11.22 小結
習題
D三部分 GJ套接字編程
D12章 IPv4與IPv6的互操作性
12.1 概述
12.2 IPv4客戶與IPv6服務器
12.3 IPv6客戶與IPv4服務器
12.4 IPv6地址測試宏
12.5 源代碼可移植性
12.6 小結
習題
D13章 守護進程和inetdCJ服務器
13.1 概述
13.2 syslogd守護進程
13.3 syslog函數
13.4 daemon_init函數
13.5 inetd守護進程
13.6 daemon_inetd函數
13.7 小結
習題
D14章 GJI/O函數
14.1 概述
14.2 套接字超時
14.3 recv和send函數
14.4 readv和writev函數
14.5 recvmsg和sendmsg函數
14.6 輔助數據
14.7 排隊的數據量
14.8 套接字和標準I/O
14.9 GJ輪詢技術
14.10 T/TCP:事務目的TCP
14.11 小結
習題
D15章 Unix域協議
15.1 概述
15.2 Unix域套接字地址結構
15.3 socketpair函數
15.4 套接字函數
15.5 Unix域字節流客戶/服務器程序
15.6 Unix域數據報客戶/服務器程序
15.7 描述符傳遞
15.8 接收發送者的憑證
15.9 小結
習題
D16章 非阻塞式I/O
16.1 概述
16.2 非阻塞讀和寫:str_cli函數(修訂版)
16.3 非阻塞connect
16.4 非阻塞connect:時間獲取客戶程序
16.5 非阻塞connect:Web客戶程序
16.6 非阻塞accept
16.7 小結
習題
D17章 ioctl操作
17.1 概述
17.2 ioctl函數
17.3 套接字操作
17.4 文件操作
17.5 接口配置
17.6 get_ifi_info函數
17.7 接口操作
17.8 ARP高速緩存操作
17.9 路由錶操作
17.10 小結
習題
D18章 路由套接字
18.1 概述
18.2 數據鏈路套接字地址結構
18.3 讀和寫
18.4 sysctl操作
18.5 get_ifi_info函數
18.6 接口名字和索引函數
18.7 小結
習題
D19章 密鑰管理套接字
19.1 概述
19.2 讀和寫
19.3 傾瀉安全關聯數據庫
19.4 創建靜態安全關聯
19.5 動態維護安全關聯
19.6 小結
習題
D20章 廣播
20.1 概述
20.2 廣播地址
20.3 單播和廣播的比較
20.4 使用廣播的dg_cli函數
20.5 競爭狀態
20.6 小結
習題
D21章 多播
21.1 概述
21.2 多播地址
21.3 局域網上多播和廣播的比較
21.4 廣域網上的多播
21.5 源特定多播
21.6 多播套接字選項
21.7 mcast_join和相關函數
21.8 使用多播的dg_cli函數
21.9 接收IP多播基礎設施會話聲明
21.10 發送和接收
21.11 SNTP:簡單網絡時間協議
21.12 小結
習題
D22章 GJUDP套接字編程
22.1 概述
22.2 接收標誌、目的IP地址和接口索引
22.3 數據報截斷
22.4 何時用UDP代替TCP
22.5 給UDP應用增加可靠性
22.6 捆綁接口地址
22.7 並發UDP服務器
22.8 IPv6分組信息
22.9 IPv6路徑MTU控製
22.10 小結
習題
D23章 GJSCTP套接字編程
23.1 概述
23.2 自動關閉的一到多式服務器程序
……
D31章 流
附錄
參考文獻
索引
作為一名在IT行業摸爬滾打多年的老兵,說實話,接觸過的技術書籍不下百本,但真正能讓我反復翻閱,並且在遇到實際問題時總能給我帶來啓發和解決方案的,屈指可數。《UNIX網絡編程(捲1)——套接字聯網API(第3版)》絕對是其中繞不開的一本。這本書的魅力不僅僅在於它對套接字API的詳盡講解,更在於它背後所蘊含的深入的操作係統原理和網絡通信的底層邏輯。很多時候,我們寫網絡程序,往往停留在API調用的層麵,遇到問題就百度、查文檔,但這本書提供瞭一個更宏觀的視角,讓我們能理解這些API是如何工作的,為什麼會這樣工作,以及在不同場景下如何做齣最優的選擇。我記得有一次,我們的服務器在高並發下頻繁齣現連接拒絕的情況,當時團隊裏嘗試瞭很多參數調優,但效果甚微。翻齣這本書,在關於TCP連接狀態和擁塞控製的那幾章,我找到瞭關鍵的綫索,理解瞭SYN Flood攻擊的原理以及內核參數在其中的作用,最終通過調整sysctl參數解決瞭問題。這種“知其然,更知其所以然”的感覺,是其他很多速成式的技術文章無法給予的。它不是那種讀一遍就能扔掉的書,而是你職業生涯中一個可靠的夥伴,隨著經驗的增長,你每次重讀都會有新的收獲。
評分我必須承認,《UNIX網絡編程(捲1)——套接字聯網API(第3版)》這本書的深度和廣度,在同類書籍中是極為罕見的。它不僅僅是一本API參考手冊,更像是一本網絡編程的“聖經”。作者在講解每一個API函數時,都會深入到其背後的係統調用、內核實現,甚至會剖析協議棧的處理流程。這使得我們在編寫網絡程序時,不再是被動地調用函數,而是能夠主動地去理解和設計。比如,在處理信號和異常時,本書詳細介紹瞭如何使用`select`、`poll`、`epoll`等I/O多路復用技術,以及它們在不同場景下的優劣勢。我曾參與過一個需要處理大量並發客戶端連接的項目,傳統的單綫程阻塞模型很快就瓶頸瞭。在參考瞭這本書後,我們果斷采用瞭`epoll`模型,並根據書中的指導,精細地優化瞭事件處理邏輯,最終成功支撐瞭遠超預期的並發量。更令人欽佩的是,書中還涉及瞭大量關於TCP協議的細節,包括三次握handshake、四次揮手、窗口機製、擁塞控製等,這些內容對於理解網絡通信的可靠性和性能至關重要。即使是經驗豐富的開發者,在遇到疑難雜癥時,翻閱此書,也常常能找到解決問題的靈感和方嚮。
評分一直以來,網絡編程都是我職業生涯中的一個重要領域,但總感覺對底層的東西把握不夠紮實。《UNIX網絡編程(捲1)——套接字聯網API(第3版)》這本書,可以說徹底改變瞭我的認知。它不是一本那種“學完就能寫代碼”的速成手冊,而是一本需要靜下心來,反復琢磨的經典。作者對套接字API的講解,深入到瞭操作係統的內核層麵,讓我們能夠真正理解TCP/IP協議棧是如何在用戶空間和內核空間之間協同工作的。我尤其對書中關於進程間通信(IPC)的章節印象深刻,它詳細介紹瞭通過套接字實現IPC的各種方式,以及它們在性能和靈活性上的權衡。還有一個讓我受益匪淺的方麵是,本書對並發編程的討論,特彆是如何利用多進程和多綫程模型來構建高性能的網絡服務,以及在使用過程中需要注意的同步和互斥問題。這本書不僅僅是知識的傳授,更是一種編程思維的塑造,它教會我如何從係統的角度去分析和解決網絡問題,如何設計齣更具可擴展性和魯棒性的網絡應用程序。
評分老實說,當我第一次拿到《UNIX網絡編程(捲1)——套接字聯網API(第3版)》這本書時,對它並沒有抱太大的期望。市麵上關於網絡編程的書籍太多瞭,大多數都流於錶麵,教你如何調用API,但卻很少深入講解背後的原理。然而,這本書徹底顛覆瞭我的看法。它不僅僅是技術細節的堆砌,更是一種思維方式的培養。作者用一種非常嚴謹和邏輯性的方式,層層剝開網絡編程的麵紗,從最基本的套接字創建、連接建立,到更復雜的進程間通信、信號處理,再到高級的網絡協議實現,無一不精。我尤其喜歡書中關於錯誤處理和調試的部分,它教會我如何係統地分析網絡問題,如何利用係統提供的工具進行調試,而不是盲目地猜測。舉個例子,書中關於`errno`和`perror`的講解,看似簡單,但卻是解決很多網絡通信疑難雜癥的關鍵。還有對TCP的深度剖析,讓我終於理解瞭為什麼在某些情況下,數據會丟失或者延遲,以及如何通過閤理的參數設置來緩解這些問題。這本書就像一個經驗豐富的導師,在你迷茫時,為你指點迷津,讓你少走彎路。
評分讀完《UNIX網絡編程(捲1)——套接字聯網API(第3版)》之後,我感覺自己對網絡編程的理解上升到瞭一個新的維度。這本書的價值在於它不僅僅提供瞭API的用法,更重要的是它深入探討瞭這些API背後的機製和設計思想。作者非常擅長將復雜的概念解釋得清晰易懂,同時又不失嚴謹性。例如,在講解UDP和TCP的區彆時,他不僅僅停留在“UDP無連接,TCP麵嚮連接”的錶麵描述,而是深入分析瞭它們在可靠性、效率、報文結構等方麵的根本差異,以及在不同應用場景下的適用性。我記得有一次,我們需要開發一個低延遲的實時通信係統,在參考瞭書中的相關章節後,我們最終選擇瞭UDP,並根據書中的建議,自己實現瞭可靠性機製,取得瞭非常好的效果。這本書也讓我開始思考,如何寫齣更健壯、更高效的網絡程序,而不是僅僅滿足於“能跑就行”。它教會瞭我關注細節,關注性能,關注係統的整體穩定性。對於任何想要在網絡編程領域深入發展的人來說,這本書都是一本不可或缺的寶典。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2026 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有