套裝參數
書 名:UNIX網絡編程 捲2 進程間通信(第2版)+捲1 套接字聯網API(第3版)【全2冊】
作 者:[美]史蒂文斯 注意,匿名 譯 [美]W. Richard Stevens Bill Fenner Andrew M. Rudoff 等著,匿名 譯
I S B N :TZH11018 (987115367204 、9787115367198)
齣 版 社:人民郵電齣版社
齣版時間:2015年8月第1版
印刷時間:2015年8月第1次印刷
字 數:全2冊
頁 數:全2冊
開 本:16開
包 裝:平裝
原 價:218.00
編輯推薦
兩捲本的《UNIX網絡編程》是已故技術作傢W. Richard Stevens的傳世之作。捲2著重討論如何讓應用程序與在其他機器上的應用程序進行對話。
良好的進程間通信(IPC)機製是提高UNIX程序性能的關鍵。本書全麵深入地講解瞭各種進程間通信形式,包括消息傳遞、同步、共享內存及遠程過程調用(RPC)。書中包含瞭大量經過優化的源代碼,幫助讀者加深理解。這些源代碼可以從本書網站下載。
本書是網絡研究和開發人員公認的參考書,無論網絡編程的初學者還是網絡專傢都會大受裨益。
目錄
部分 簡介
第1章 簡介
1.1 概述
1.2 進程、綫程與信息共享
1.3 IPC對象的持續性
1.4 名字空間
1.5 fork、exec和exit對IPC對象的影響
1.6 齣錯處理:包裹函數
1.7 Unix標準
1.8 書中IPC例子索引錶
1.9 小結
習題
第2章 Posix IPC
2.1 概述
2.2 IPC名字
2.3 創建與打開IPC通道
2.4 IPC權限
2.5 小結
習題
第3章 System V IPC
3.1 概述
3.2 key_t鍵和ftok函數
3.3 ipc_perm結構
3.4 創建與打開IPC通道
3.5 IPC權限
3.6 標識符重用
3.7 ipcs和ipcrm程序
3.8 內核限製
3.9 小結
習題
第二部分 消息傳遞
第4章 管道和FIFO
4.1 概述
4.2 一個簡單的客戶—服務器例子
4.3 管道
4.4 全雙工管道
4.5 popen和pclose函數
4.6 FIFO
4.7 管道和FIFO的額外屬性
4.8 單個服務器,多個客戶
4.9 對比迭代服務器與並發服務器
4.10 字節流與消息
4.11 管道和FIFO限製
4.12 小結
習題
第5章 Posix消息隊列
5.1 概述
5.2 mq_open、mq_close和mq_unlink函數
5.3 mq_getattr和mq_setattr函數
5.4 mq_send和mq_receive函數
5.5 消息隊列限製
5.6 mq_notify函數
5.7 Posix實時信號
5.8 使用內存映射I/O實現Posix消息隊列
5.9 小結
習題
第6章 System V消息隊列
6.1 概述
6.2 msgget函數
6.3 msgsnd函數
6.4 msgrcv函數
6.5 msgctl函數
6.6 簡單的程序
6.7 客戶—服務器例子
6.8 復用消息
6.9 消息隊列上使用select和poll
6.10 消息隊列限製
6.11 小結
習題
第三部分 同步
第7章 互斥鎖和條件變量
7.1 概述
7.2 互斥鎖:上鎖與解鎖
7.3 生産者—消費者問題
7.4 對比上鎖與等待
7.5 條件變量:等待與信號發送
7.6 條件變量:定時等待和廣播
7.7 互斥鎖和條件變量的屬性
7.8 小結
習題
第8章 讀寫鎖
8.1 概述
8.2 獲取與釋放讀寫鎖
8.3 讀寫鎖屬性
8.4 使用互斥鎖和條件變量實現讀寫鎖
8.5 綫程取消
8.6 小結
習題
第9章 記錄上鎖
9.1 概述
9.2 對比記錄上鎖與文件上鎖
9.3 Posix fcntl記錄上鎖
9.4 勸告性上鎖
9.5 強製性上鎖
9.6 讀齣者和寫入者的優先級
9.7 啓動一個守護進程的副本
9.8 文件作鎖用
9.9 NFS上鎖
9.10 小結
習題
第10章 Posix信號量
10.1 概述
10.2 sem_open、sem_close和sem_unlink函數
10.3 sem_wait和sem_trywait函數
10.4 sem_post和sem_getvalue函數
10.5 簡單的程序
10.6 生産者—消費者問題
10.7 文件上鎖
10.8 sem_init和sem_destroy函數
10.9 多個生産者,單個消費者
10.10 多個生産者,多個消費者
10.11 多個緩衝區
10.12 進程間共享信號量
10.13 信號量限製
10.14 使用FIFO實現信號量
10.15 使用內存映射I/O實現信號量
10.16 使用System V信號量實現Posix信號量
10.17 小結
習題
第11章 System V 信號量
11.1 概述
11.2 semget函數
11.3 semop函數
11.4 semctl函數
11.5 簡單的程序
11.6 文件上鎖
11.7 信號量限製
11.8 小結
習題
第四部分 共享內存區
第12章 共享內存區介紹
12.1 概述
12.2 mmap、munmap和msync函數
12.3 在內存映射文件中給計數器持續加
12.4 4.4BSD匿名內存映射
12.5 SVR4/dev/zero內存映射
12.6 訪問內存映射的對象
12.7 小結
習題
第13章 Posix共享內存區
13.1 概述
13.2 shm_open和shm_unlink函數
13.3 ftruncate和fstat函數
13.4 簡單的程序
13.5 給一個共享的計數器持續加1
13.6 嚮一個服務器發送消息
13.7 小結
習題
第14章 System V共享內存區
14.1 概述
14.2 shmget函數
14.3 shmat函數
14.4 shmdt函數
14.5 shmctl函數
14.6 簡單的程序
14.7 共享內存區限製
14.8 小結
習題
第五部分 遠程過程調用
第15章 門
15.1 概述
15.2 door_call函數
15.3 door_create函數
15.4 door_return函數
15.5 door_cred函數
15.6 door_info函數
15.7 例子
15.8 描述符傳遞
15.9 door_sever_create函數
15.10 door_bind、door_unbind和door_revoke函數
15.11 客戶或服務器的過早終止
15.12 小結
習題
第16章 Sun RPC
16.1 概述
16.2 多綫程化
16.3 服務器捆綁
16.4 認證
16.5 超時和重傳
16.6 調用語義
16.7 客戶或服務器的過早終止
16.8 XDR:外部數據錶示
16.9 RPC分組格式
16.10 小結
習題
後記
附錄A 性能測量
附錄B 綫程入門
附錄C 雜湊的源代碼
附錄D 精選習題解答
參考文獻
索引
商品參數
書 名:UNIX網絡編程 捲1 套接字聯網API(第3版)
作 者:[美]W. Richard Stevens Bill Fenner Andrew M. Rudoff 等著,匿名 譯
I S B N :9787115367198
齣 版 社:人民郵電齣版社
齣版時間:2015年8月第1版
印刷時間:2015年8月第1次印刷
字 數:1363000
頁 數:804
開 本:16開
包 裝:平裝
重 量:1475剋
原 價:129.00元
目錄
部分 簡介和TCP/IP
第1章 簡介
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 小結
習題
第2章 傳輸層: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 小結
習題
第二部分 基本套接字編程
第3章 套接字編程簡介
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 小結
習題
第4章 基本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 小結
習題
第5章 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 小結
習題
第6章 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 小結
習題
第7章 套接字選項
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 小結
習題
第8章 基本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 小結
習題
第9章 基本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 小結
習題
第10章 SCTP客戶/服務器程序例子
10.1 概述
10.2 SCTP一到多式流分迴射服務器程序:main函數
10.3 SCTP一到多式流分迴射客戶程序:main函數
10.4 SCTP流分迴射客戶程序:sctpstr_cli函數
10.5 探究頭端阻塞
10.6 控製流的數目
10.7 控製終結
10.8 小結
習題
第11章 名字與地址轉換
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 小結
習題
第三部分 高級套接字編程
第12章 IPv4與IPv6的互操作性
12.1 概述
12.2 IPv4客戶與IPv6服務器
12.3 IPv6客戶與IPv4服務器
12.4 IPv6地址測試宏
12.5 源代碼可移植性
12.6 小結
習題
第13章 守護進程和inetd服務器
13.1 概述
13.2 syslogd守護進程
13.3 syslog函數
13.4 daemon_init函數
13.5 inetd守護進程
13.6 daemon_inetd函數
13.7 小結
習題
第14章 高級I/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 高級輪詢技術
14.10 T/TCP:事務目的TCP
14.11 小結
習題
第15章 Unix域協議
15.1 概述
15.2 Unix域套接字地址結構
15.3 socketpair函數
15.4 套接字函數
15.5 Unix域字節流客戶/服務器程序
15.6 Unix域數據報客戶/服務器程序
15.7 描述符傳遞
15.8 接收發送者的憑證
15.9 小結
習題
第16章 非阻塞式I/O
16.1 概述
16.2 非阻塞讀和寫:str_cli函數(修訂版)
16.3 非阻塞connect
16.4 非阻塞connect:時間獲取客戶程序
16.5 非阻塞connect:Web客戶程序
16.6 非阻塞accept
16.7 小結
習題
第17章 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 小結
習題
第18章 路由套接字
18.1 概述
18.2 數據鏈路套接字地址結構
18.3 讀和寫
18.4 sysctl操作
18.5 get_ifi_info函數
18.6 接口名字和索引函數
18.7 小結
習題
第19章 密鑰管理套接字
19.1 概述
19.2 讀和寫
19.3 傾瀉安全關聯數據庫
19.4 創建靜態安全關聯
19.5 動態維護安全關聯
19.6 小結
習題
第20章 廣播
20.1 概述
20.2 廣播地址
20.3 單播和廣播的比較
20.4 使用廣播的dg_cli函數
20.5 競爭狀態
20.6 小結
習題
第21章 多播
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 小結
習題
第22章 高級UDP套接字編程
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 小結
習題
第23章 高級SCTP套接字編程
23.1 概述
23.2 自動關閉的一到多式服務器程序
……
第31章 流
附錄
參考文獻
索引
內容推薦
本書是一部UNIX 網絡編程的經典之作!進程間通信(IPC)幾乎是所有Unix 程序性能的關鍵,理解IPC 也是理解如何開發不同主機間網絡應用程序的必要條件。本書從對Posix IPC 和System V IPC 的內部結構開始討論,全麵深入地介紹瞭4 種IPC 形式:消息傳遞(管道、FIFO、消息隊列)、同步(互斥鎖、條件變量、讀寫鎖、文件與記錄鎖、信號量)、共享內存(匿名共享內存、具名共享內存)及遠程 過程調用(Solaris門、Sun RPC)。附錄中給齣瞭測量各種IPC 形式性能的方法。
本書內容詳盡且具性,幾乎每章都提供精選的習題,並提供瞭部分習題的答案,是網絡研究和開發人員理想的參考書。
........
........
評價四 這兩本書,尤其是《UNIX 網絡編程》捲1關於套接字的網絡API部分,是每一個想要深入理解網絡編程的開發者必備的參考。我之前對網絡編程的理解比較零散,很多概念停留在錶麵。但是,當我翻開這本捲1後,豁然開朗。作者對TCP的連接管理、流量控製、擁塞控製等底層原理的闡述,讓我對網絡通信的可靠性有瞭更深的認識。對於各種IO模型,從阻塞IO到非阻塞IO,再到IO多路復用(select, poll, epoll),書中都給齣瞭詳盡的解釋和代碼示例,讓我能夠根據不同的需求選擇最閤適的IO策略。捲2《進程間通信》則將視角從網絡轉移到瞭進程內部,詳細介紹瞭多種進程間通信的方式。我過去在多進程開發中遇到的數據共享和同步問題,在這本書中找到瞭很好的解決方案。管道、消息隊列、共享內存、信號量等,每一種技術都闡述得非常到位,並且提供瞭實際的應用場景和注意事項。這套書不僅教會瞭我如何去寫網絡和IPC代碼,更重要的是培養瞭我分析和解決問題的能力。
評分評價三 這是一套沉甸甸的經典之作。拿到《UNIX 網絡編程》的這兩捲,我立刻就被其嚴謹的結構和深入的洞察力所吸引。捲1《套接字聯網API》為理解網絡通信的基石提供瞭無與倫比的清晰度。從TCP連接的建立過程,三次握手四次揮手的細節,到UDP的無連接特性,以及各種套接字選項的意義,都闡述得極為細緻。我尤其喜歡書中關於IO多路復用模型(select, poll, epoll)的講解,它不僅提供瞭代碼,更深入地剖析瞭這些機製的效率和適用場景。而捲2《進程間通信》則將目光投嚮瞭係統內部,揭示瞭進程之間如何進行信息交換和協作。管道、消息隊列、共享內存、信號量等,每一種通信方式的優劣勢,何時該用何種方式,書中都給齣瞭清晰的指導。更重要的是,Stevens將這些概念與實際的係統調用緊密結閤,通過大量的代碼示例,讓抽象的技術變得觸手可及。這本書不僅僅是API的集閤,更是對UNIX係統設計哲學的一種傳承,讓我深刻理解瞭高效、可靠的係統通信是如何構建的。
評分評價五 當我拿到《UNIX 網絡編程》的這套組閤,即《捲2-進程間通信(第2版)+捲1套接字聯網API(第3版)》時,就被其內容所震撼。捲1《套接字聯網API》部分,簡直是網絡編程領域的百科全書。從最基礎的套接字創建、服務器監聽,到復雜的TCP選項、UDP廣播,再到高階的IO復用模型(select, poll, epoll),書中無微不至地進行瞭講解。作者的寫作風格非常嚴謹,每個API的使用都伴隨著清晰的解釋和精煉的代碼示例,讓我能夠快速理解並上手。我尤其喜歡書中對TCP粘包分包問題的深入剖析,以及如何通過設計協議來解決這些問題,這對於構建穩定可靠的網絡服務至關重要。而捲2《進程間通信》則進一步拓展瞭我的視野,讓我瞭解到在單機環境下,進程之間如何高效地進行數據交換。管道、消息隊列、共享內存、信號量等IPC機製,書中都進行瞭詳盡的介紹,並提供瞭大量的代碼示例,讓我能夠直觀地感受到它們的工作原理和適用場景。這套書的價值在於,它不僅提供瞭API的使用方法,更重要的是教會瞭開發者背後的原理和設計思想。
評分評價二 這次購買的《UNIX 網絡編程》係列,尤其是《捲2-進程間通信》這部分,給瞭我一個全新的視角去理解係統內部的協作機製。在開發分布式係統或者需要進程間協同工作的場景下,進程間通信(IPC)是繞不開的關鍵技術。這本書的第二捲,正如其名,深入剖析瞭UNIX係統中多種多樣的IPC方法,包括但不僅限於管道(pipe)、消息隊列(message queue)、共享內存(shared memory)以及信號量(semaphore)。Stevens大師對於每一種IPC機製的講解都非常透徹,他不僅介紹瞭API的使用,更重要的是闡述瞭每種機製的設計哲學、適用場景以及它們之間的優缺點對比。例如,通過管道實現進程間簡單的數據流傳遞,和通過共享內存實現高效數據共享,兩者在性能和復雜性上有著顯著的差異。書中通過大量的代碼示例,生動地演示瞭如何在實際應用中運用這些IPC技術,並且對於多綫程環境下IPC的同步和互斥問題也進行瞭深入的探討。這對於我理解和解決並發編程中的一些棘手問題,提供瞭寶貴的指導。
評分評價一 拿到這套書,我纔真正領略到《UNIX 網絡編程》係列圖書的經典之處。雖然我手裏這套是《捲2-進程間通信(第2版)+捲1套接字聯網API(第3版)》,但這本身就說明瞭它覆蓋的深度和廣度。第一捲《套接字聯網API》簡直是學習網絡編程的聖經,從最基礎的套接字創建、地址綁定,到TCP/UDP的各種選項配置,再到各種同步和異步IO模型(select, poll, epoll),書中都講解得淋灕盡緻。作者W. Richard Stevens不愧是大師,他的講解方式不是簡單地羅列API,而是深入淺齣地分析底層原理,讓你不僅知道“怎麼做”,更明白“為什麼這麼做”。每一個例子都精心設計,清晰地展示瞭關鍵概念。讀完第一捲,我對客戶端-服務器模型有瞭紮實的理解,能夠獨立構建簡單的網絡應用程序。而且,書中對錯誤處理和邊界情況的關注也讓我受益匪淺,讓我明白健壯的網絡編程需要細緻的考量。雖然書中的代碼風格和一些現代的庫函數略有不同,但其核心思想是永恒的。學習它,就像是給自己的編程內功打下瞭堅實的基礎,為後續更復雜的網絡技術學習鋪平瞭道路。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有