出版時間:2009-11 出版社:清華大學(xué)出版社 作者:(美)多納霍,(美)卡爾弗特 頁數(shù):180 譯者:陳宗斌
Tag標(biāo)簽:無
前言
在我們編寫本書的第1版時,在關(guān)于聯(lián)網(wǎng)的大學(xué)課程中包括編程方面的內(nèi)容不是很常見?,F(xiàn)在看起來這似乎令人難以置信,目前,Internet變得對我們的世界如此重要,并且講授實用編程和真實協(xié)議示例的好處被如此廣泛地接受。盡管現(xiàn)在有其他語言提供了對Interact的訪問,人們對原始的基于C的Berkeley Sockets仍然有很濃厚的興趣。用于聯(lián)網(wǎng)的Sockets API(應(yīng)用程序編程接口)是20世紀(jì)80年代在加州大學(xué)伯克利分校為I_YNIX:的BSD版本開發(fā)的——這種UNIx版本是現(xiàn)在稱為開源項目的最初幾個示例之一?! ockets API和Intemet在許多競爭性協(xié)議族——IPX、Appletalk、DECNet、OSI、SNA以及TCPfiP(Transmission Control Protocol/Intemet Protocal,傳輸控制協(xié)議/網(wǎng)際協(xié)議)一一的世界中逐漸成長起來,并且Sockets被設(shè)計成支持所有這些協(xié)議。在我們編寫本書第1版時,只有很少的幾個協(xié)議族被廣泛應(yīng)用,今天這個數(shù)量甚至更少。然而,就像我們在本書第1版中所預(yù)計的,對于那些想要設(shè)計和構(gòu)建使用Intemet(即使用TCP/IP)的分布式應(yīng)用程序的人來說,Sockets API仍然很重要。并且此接口已經(jīng)證明非常健壯,足以支持網(wǎng)際協(xié)議的新版本(IPv6),現(xiàn)在幾乎所有的公共計算平臺都支持IPv6?! 蓚€主要的考慮促使我們編寫了本書的第2版。第一,依據(jù)我們自己的經(jīng)驗和其他人的反饋意見,我們發(fā)現(xiàn)一些主題需要更深入地介紹,另外一些主題則需要擴展。第二個考慮是人們?nèi)找娼邮懿⑹褂肐Pv6,它現(xiàn)在實質(zhì)上受到所有當(dāng)前的最終系統(tǒng)平臺的支持。在編寫本書時,不可能使用IPv6與Intemet上的大部分主機交換信息,但是有可能給其中的許多主機分配一個IPv6地址。盡管稱IPv6將接管整個世界仍言之過早,但是開始編寫應(yīng)用程序以為之做好準(zhǔn)備卻正當(dāng)其時。
內(nèi)容概要
本書為開發(fā)成熟且功能強大的Web應(yīng)用程序提供所需的知識和技巧。本書以教學(xué)指南的方式,幫助讀者掌握在C語言環(huán)境下,用套接字實現(xiàn)客戶—服務(wù)器項目開發(fā)的任務(wù)和技術(shù)。本書的本版次增加了對最新技術(shù)的介紹,如對IPv6的支持,以及更詳細的編程策略等內(nèi)容。 本書內(nèi)容簡明扼要、示例豐富,既可作為高等學(xué)校網(wǎng)絡(luò)編程課程的教學(xué)參考書,也是網(wǎng)絡(luò)開發(fā)人員進行應(yīng)用程序開發(fā)的常備參考書。
作者簡介
多納霍,Baylor大學(xué)副教授,為本科生和研究生講授網(wǎng)絡(luò)技術(shù)課程。他編寫了多本關(guān)于各種語言的套接字編程圖書,以及一本SQL方面的圖書。
書籍目錄
第1章簡介 1.1 網(wǎng)絡(luò)、分組和協(xié)議 1.2 關(guān)于地址 1.2.1 記下IP地址 1.2.2 處理兩個版本 1.2.3 端口號 1.2.4 特殊地址 1.3 關(guān)于名稱 1.4 客戶與服務(wù)器 1.5 什么是套接字 練習(xí)題第2章 基本的TCP套接字 2.1 IPv4 TCP客戶 2.2 IPv4 TCP服務(wù)器 2.3 創(chuàng)建和銷毀套接字 2.4 指定地址 2.4.1 通用地址 2.4.2 IPv4地址 2.4.3 IPv6地址 2.4.4 通用地址存儲器 2.4.5 二進制/字符串地址轉(zhuǎn)換 2.4.6 獲取套接字的關(guān)聯(lián)地址 2.5 連接套接字 2.6 綁定到地址 2.7 處理進入的連接 2.8 通信 2.9 使用IPv6 練習(xí)題第3章 關(guān)于名稱和地址族 3.1 將名稱映射到數(shù)字 3.1.1 訪問名稱服務(wù) 3.1.2 詳細信息 3.2 編寫地址通用的代碼 3.2.1 通用的TCP客戶 3.2.2 通用的TCP服務(wù)器 3.2.3 IPv4與IPv6之間互操作 3.3 從數(shù)字獲取名稱 練習(xí)題第4章 使用UDP套接字 4.1 UDP客戶 4.2 UDP服務(wù)器 4.3 利用UDP套接字進行發(fā)送和接收 4.4 連接UDP套接字 練習(xí)題第5章 發(fā)送和接收數(shù)據(jù) 5.1 編碼整數(shù) 5.1.1 整數(shù)的大小 5.1.2 字節(jié)排序 5.1.3 符號性與符號擴展 5.1.4 手工編碼整數(shù) 5.1.5 在流中包裝TCP套接字 5.1.6 結(jié)構(gòu)覆蓋:對齊與填充 5.1.7 字符串和文本 5.1.8 位操作:編碼布爾值 ……第6章 超越基本的套接字編程第7章 揭密第8章 C++進行套接字編程參考文獻
章節(jié)摘錄
一個程序怎樣通過網(wǎng)絡(luò)與另一個程序通信?本書的目標(biāo)是:在C編程語言的環(huán)境下,開始讓你理解這個問題的答案。長時間以來,C都是實現(xiàn)網(wǎng)絡(luò)通信軟件所選的語言。的確,稱為套接字的API(applicationprogramminginterface,應(yīng)用程序編程接口)最初就是用C開發(fā)的?! 〔贿^,在深入研究套接字的細節(jié)之前,值得從總體上簡要探討一下網(wǎng)絡(luò)和協(xié)議,看看我們的代碼將適合于應(yīng)用在什么位置。我們在本書中的目標(biāo)不是講授網(wǎng)絡(luò)和TCP/IP如何工作——有許多針對此目的的優(yōu)秀教材可以閱讀[1、3、10、15、17】,而是介紹一些基本的概念和術(shù)語?! ∮嬎銠C網(wǎng)絡(luò)由通過通信信道互連的機器組成。我們把這些機器稱為主機(host)和路由器(router)。主機是運行應(yīng)用程序(比如Web瀏覽器、IM代理或文件共享程序)的計算機。主機上運行的應(yīng)用程序是網(wǎng)絡(luò)的真正“用戶”。路由器也稱為網(wǎng)關(guān)(gateway),這種機器的職責(zé)是把信息從一條通信信道中繼或轉(zhuǎn)發(fā)(forward)到另一條通信信道。它們可能會運行程序,但是通常不會運行應(yīng)用程序。出于我們的目的,通信信道(communicationchannel)是把字節(jié)序列從一臺主機傳送到另一臺主機的工具;它可能是有線(例如,以太網(wǎng))、無線(例如,WiFi)或其他連接。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載