< >
在 Linux(以及大多數其他作業系統)中,網路程式設計最基本的單位就是 socket。就像透過檔案 I/O與檔案系統進行溝通,我們也可以透過socket 連上網路。Socket 其實就是程式用來定址以及傳送或接收訊息的連接點。設計網路或 socket 程式其實比設計單一工作或多工的程式更具挑戰性。因為真正的多處理器環境不僅會帶來更大的威力,也會導致更多值得注意的問題。上述的威力是無庸置疑的:只要將工作組織後分配給利用網路連接的電腦,Beowolf 之類的Parallel Virtual Machines (PMV)就可以進行更多的處理運算。置於隨之應運而生的問題,則包括了如何取得最佳的輸貫量,協調資料傳輸,以及管理 I/O 等等。本書將會說明及提供上述這些問題的解決之道。我們的目的在於滿足專業網路程式設計者的立即性與長期需要。掌握重要的概念,並且建立重要的應用程式。學習及掌握各種不同的 Linux Socket。設計單一執行緒、多執行緒,以及多工的客戶程式、伺服器以及對等程式。處理廣播及多重播送訊息。利用 OpenSSL 建立安全的 Socket,並且瞭解網路程式的安全考量。利用 Java 及 C++ 的 Socket API 進行設計。學習面對 IPv6以及如何轉換程式。使用 rpcgen 來建立專案所需的 RPC
第一部分 網路客戶程式設計面面觀第一章 網路客戶程式簡介第二章 精通 TCP/IP 網路語言第三章 不同形態的 Internet 封包第四章 在對等電腦間傳送訊息第五章 瞭解網路階層模型第二部分 伺服器面面觀與工作量控制第六章 伺服器簡介第七章 分擔工作量:多工第八章 選擇等待 I/O 的時間第九章 突破效能的限制第十章 設計穩固的 Linux Sockets第三部分 從物件的觀點看 Sockets第十一章 利用物件節省時間第十二章 使用 Java 的網路 API第十三章 設計及使用 C++ Socket框架第十四章 物件的限制第四部分 進階的 Sockets – 提高價值第十五章 利用遠端程序呼叫封裝網路第十六章 為網路程式增加安全性與 SSL第十七章 利用多重播送,廣播以及 Mbone 來共享訊息第十八章 原始封包的威力第十九章 IPv6:下一代的 IP第五部分 附錄附錄 A 資料表格附錄 B 網路 API附錄 C 核心 API 摘錄附錄 D 物件類別
IPv6理論與實務 LINUX程式設計教學手冊 Linux超級工具
購買紙本書