簡明socket 編程

簡明socket 編程

ID:34482211

大小:530.78 KB

頁數(shù):26頁

時間:2019-03-06

簡明socket 編程_第1頁
簡明socket 編程_第2頁
簡明socket 編程_第3頁
簡明socket 編程_第4頁
簡明socket 編程_第5頁
資源描述:

《簡明socket 編程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、中國科學技術(shù)大學多媒體技術(shù)與網(wǎng)絡(luò)通信實驗室(copyright1999)附錄一簡明Socket編程指南在本說明文檔中,主要講述了一些網(wǎng)絡(luò)SOCKET編程的基本概念和有關(guān)函數(shù)說明,并給出了部分示例程序的源代碼。在完成“TCP和IP通信程序設(shè)計實驗”、“實時聲音傳輸實驗”和“HTTP代理實現(xiàn)實驗”時,可以參考本文檔的內(nèi)容。一、SOCKET基本概念1Linux/Unix:Socket函數(shù)庫LinuxSocket函數(shù)庫是從Berkeley大學開發(fā)的BSDUNIX系統(tǒng)中移植過來的。BSDSocket接口是在眾多Unix系統(tǒng)中被廣泛支持的TCP/IP通信接口,Linux下的Socket程序

2、設(shè)計,除了微小的差別之外,也適用于大多數(shù)其它Unix系統(tǒng)。Socket的使用,和文件操作比較類似。如同文件的讀、寫、打開、關(guān)閉等操作一樣,TCP/IP網(wǎng)絡(luò)通信同樣也有這些操作,不過它使用的接口不是文件描述符或者FILE*,而是一個稱做Socket的描述符。類似于文件操作,對于Socket,也通過讀、寫、打開、關(guān)閉操作來進行網(wǎng)絡(luò)數(shù)據(jù)傳送。同時,還有一些輔助的函數(shù),如域名/IP地址查詢、Socket功能設(shè)置等。2.DOS:WATTCP函數(shù)庫關(guān)于WATTCP函數(shù)庫,也就是DOS下TCP/IP協(xié)議驅(qū)動程序庫是由加拿大Waterloo大學的ErickEngelke提供的。NCSA的tel

3、net、ftp等程序,都是利用ErickEngelke的TCP/IP程序庫WATTCP開發(fā)出來的。WATTCP是一個很容易使用的C語言函數(shù)庫,相對Unix和其它環(huán)境下廣泛使用的BSDSocket接口而言,它在DOS下提供了一個更為簡單和直觀的TCP/IP編程接口。WATTCP編程接口,相對于UnixSocket而言,作了相當?shù)暮喕?。Unix下,網(wǎng)絡(luò)操作和文件系統(tǒng)幾乎融為一體,但DOS下不存在如Unix一樣強大的網(wǎng)絡(luò)文件系統(tǒng)功能。因此,在DOS下沒有Unix中那種直接用文件系統(tǒng)調(diào)用來操作Socket的便利。DOS下的TCP/IP通信和DOS系統(tǒng)幾乎是完全獨立的。WATTCP支持D

4、OSTCP/IP環(huán)境下的基本Socket接口,大致和UnixSocket兼容,包括面向連接的TCP(SOCK_STREAM)和非連接的UDP(SOCK_DGRAM)型Socket。另外WATTCP提供一些專用的SOCKET接口函數(shù)。3.WindowsSockets規(guī)范WindowsSockets規(guī)范以U.C.Berkeley大學BSDUNIX中流行的Socket接口為范例定義了一套MicosoftWindows下網(wǎng)絡(luò)編程接口。它不僅包含了人們所熟悉的BerkeleySocket風格的庫函數(shù);也包含了一組針對Windows的擴展庫函數(shù),以使程序員能充分地利用Windows消息驅(qū)動

5、機制進行編程。這一套WindowsSocketsAPI能夠在所有3.0以上版本的Windows和所有Windows如果您在閱讀過程中發(fā)現(xiàn)疏漏和錯誤,請您盡快和編者取得聯(lián)系network@ustc.edu.cncxh@ustc.edu.cn中國科學技術(shù)大學多媒體技術(shù)與網(wǎng)絡(luò)通信實驗室(copyright1999)Scokets實現(xiàn)上使用,所以它不僅為WindwosSockets實現(xiàn)和WindowsSockets應用程序提供了16位操作環(huán)境,而且也提供了32位操作環(huán)境。WindowsSockets也支持多線程的Windows進程。一個進程包含了一個或多個同時執(zhí)行的線程。在Window

6、s3.1非多線程版本中,一個任務(wù)對應了一個僅具有單個線程的進程。而我們在本書中所提到的線程均是指在多線程Windows環(huán)境中的真正意義的線程。在非多線程環(huán)境中(例如Windows3.0)這個術(shù)語是指WindowsSockets進程。WindowsSockets規(guī)范中的針對Windows的擴展部分為應用程序開發(fā)者提供了開發(fā)具有Windows應用軟件的功能。它有利于使程序員寫出更加穩(wěn)定并且更加高效的程序,也有助于在非占先Windows版本中使多個應用程序在多任務(wù)情況下更好地運作。除了WSAStartup()和WSACleanup()兩個函數(shù)除外,其他的Windows擴展函數(shù)的使用不

7、是強制性的。4.套接口基本概念通訊的基石是套接口,一個套接口是通訊的一端。在這一端上你可以找到與其對應的一個名字。一個正在被使用的套接口都有它的類型和與其相關(guān)的進程。套接口存在于通訊域中。通訊域是為了處理一般的線程通過套接口通訊而引進的一種抽象概念。套接口通常和同一個域中的套接口交換數(shù)據(jù)(數(shù)據(jù)交換也可能穿越域的界限,但這時一定要執(zhí)行某種解釋程序)。WindowsSockets規(guī)范支持單一的通訊域,即Internet域。各種進程使用這個域互相之間用Internet協(xié)議族來進行通訊(Window

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。