實驗講解1. 套接字ppt課件_第1頁
實驗講解1. 套接字ppt課件_第2頁
實驗講解1. 套接字ppt課件_第3頁
實驗講解1. 套接字ppt課件_第4頁
實驗講解1. 套接字ppt課件_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、page 2實驗講解1套接字接口最初是由加州大學伯克利分校的套接字接口最初是由加州大學伯克利分校的Unix小組開發(fā)小組開發(fā), 是網(wǎng)絡運用是網(wǎng)絡運用程序接口程序接口API。套接字是由傳輸層提供的運用程序套接字是由傳輸層提供的運用程序(進程進程)和網(wǎng)絡之間的接入點。運用程和網(wǎng)絡之間的接入點。運用程序序(進程進程)可以經(jīng)過套接字訪問網(wǎng)絡可以經(jīng)過套接字訪問網(wǎng)絡.IP地址指定主機地址指定主機, 端口號指定運用程序端口號指定運用程序(進程進程). 套接字利用主機的網(wǎng)絡層套接字利用主機的網(wǎng)絡層地址和端口號為兩個進程建立邏輯銜接。地址和端口號為兩個進程建立邏輯銜接??蛻魴C可以經(jīng)過端口號來訪問效力器提供的效力。

2、客戶機可以經(jīng)過端口號來訪問效力器提供的效力。套接字可以用于多種協(xié)議,包括套接字可以用于多種協(xié)議,包括TCP/IP協(xié)議。協(xié)議。常用端口號:常用端口號: TCP模塊模塊IP模塊模塊接口板接口板驅(qū)動模塊驅(qū)動模塊驅(qū)動接口驅(qū)動接口 TCP模塊模塊IP模塊模塊接口板接口板驅(qū)動模塊驅(qū)動模塊驅(qū)動接口驅(qū)動接口IP模塊模塊接口板接口板驅(qū)動模塊驅(qū)動模塊驅(qū)動接口驅(qū)動接口接口板接口板驅(qū)動模塊驅(qū)動模塊驅(qū)動接口驅(qū)動接口路由器路由器傳輸介質(zhì)傳輸介質(zhì)傳輸介質(zhì)傳輸介質(zhì)運用程序之間的通訊運用程序之間的通訊IP 層的通訊層的通訊IP 層的通訊層的通訊數(shù)據(jù)鏈路層的通訊數(shù)據(jù)鏈路層的通訊數(shù)據(jù)鏈路層的通訊數(shù)據(jù)鏈路層的通訊運用運用1運用運用2

3、運用運用3邏輯信道邏輯信道端口號端口號端口號端口號套接字運用圖示套接字運用圖示還要給出還要給出IP地址地址page 4實驗講解1 如何利用套接字建立邏輯信道如何利用套接字建立邏輯信道?page 6實驗講解1 客戶和效力器任務方式分類客戶和效力器任務方式分類page 7實驗講解1建立半銜接,需求明確address中關于主機的部分Backlog懇求隊列所允許的長度listen(s,1)表示銜接懇求隊列長度為1,即只允許有一個懇求,假設有多個請求,那么出現(xiàn)錯誤,給出錯誤代碼WSAECONNREFUSED4接受從客戶端來的懇求接受從客戶端來的懇求. 假設該端口的懇求銜接等待隊列非空假設該端口的懇求銜接

4、等待隊列非空, 那么從懇那么從懇求銜接等待隊列中獲得一個銜接懇求求銜接等待隊列中獲得一個銜接懇求, 假設隊列為空,那么阻塞本人假設隊列為空,那么阻塞本人. SOCKET accept(SOCKET socket, struct sockaddr * address, int *addr_len) 參數(shù)參數(shù): 監(jiān)聽的套接字監(jiān)聽的套接字, 地址地址,地址長度地址長度. 前往前往: 一個新的套接字一個新的套接字(以下成為銜接字以下成為銜接字), 或或INVALID_SOCKET * 參數(shù)參數(shù)地址地址用來前往一個客戶地址用來前往一個客戶地址. 假設接受一個銜接懇求,假設接受一個銜接懇求, 該地址中將包

5、括客戶的該地址中將包括客戶的IP地址和端口號地址和端口號accept()阻塞(缺省)等待懇求隊列中的懇求client也是一個sockaddr_in構(gòu)造,銜接建立時填入懇求銜接的套接口的半相關信息.page 13實驗講解1 recv()函數(shù)用于從其他機器接納數(shù)據(jù),這個函數(shù)接納4個參數(shù)并前往一個整型值。第1個參數(shù)為接納數(shù)據(jù)所運用的套接字,也就是MySock;第2個參數(shù)為用來存儲所接納數(shù)據(jù)的字符串;第3個參數(shù)表示希望接納的數(shù)據(jù)的最大長度,長度應為字符串的長度減1,留下一個字節(jié)用于存放終了符;最后一個參數(shù)是一個指定函數(shù)調(diào)用方式的標志。假設運用MSG_PEEK調(diào)用這個函數(shù),可以只查看數(shù)據(jù)而不將數(shù)據(jù)從緩沖

6、區(qū)去除。另一種方式是運用MSG_OOB標志,這個標志用于DECnet協(xié)議。該參數(shù)最常用的值是0,它將信息移到指定的字符串,并從緩沖區(qū)去除。函數(shù)的前往值為所接納數(shù)據(jù)的長度,假設執(zhí)行失敗,那么會前往0或一個負數(shù)。Windows 效力器端流程效力器端流程(循環(huán)方式循環(huán)方式)WSAStartupsocketbindlistenacceptrecvclosesocketsendWSACleanup* WSAStartup用于加載用于加載WS2_32.DLL page 15實驗講解1 1創(chuàng)建套接字創(chuàng)建套接字 SOCKET socket(int domain, int type, int protocol)

7、 2發(fā)出銜接懇求發(fā)出銜接懇求 int connect(SOCKET socket, struct sockaddr * address, int addr_len) 參數(shù)參數(shù): 套接字套接字, 地址地址, 地址長度地址長度 前往前往: 0(無錯無錯), 或錯誤碼或錯誤碼 * 調(diào)用前調(diào)用前, 參數(shù)參數(shù)地址地址需求給出效力器的需求給出效力器的IP地址和端地址和端口號口號 * 系統(tǒng)自動獲得客戶端系統(tǒng)自動獲得客戶端IP地址地址, 并產(chǎn)生一個客戶端并產(chǎn)生一個客戶端 當前未運用的端口號當前未運用的端口號.3發(fā)送和接納數(shù)據(jù)發(fā)送和接納數(shù)據(jù)4封鎖此銜接的套接字封鎖此銜接的套接字TCP運用程序運用程序IP80效力器效力器 圖示圖示TCP客戶效力器建立銜接的過程客戶效力器建立銜接的過程第一步。效力器綁定并監(jiān)聽端口第一步。效力器綁定并監(jiān)聽端口TCP運用程序運用程序IP80效力器效力器(IP1)TCP運用程序運用程序IP2000,80客戶端客戶端(IP2)80 - 效力器端口號效力器端口號2000 客戶端口號客戶端口號IP1-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論