Winsocket編程之套接字原理

Winsocket編程之套接字原理

ID:37898989

大?。?4.50 KB

頁數(shù):5頁

時間:2019-06-02

Winsocket編程之套接字原理_第1頁
Winsocket編程之套接字原理_第2頁
Winsocket編程之套接字原理_第3頁
Winsocket編程之套接字原理_第4頁
Winsocket編程之套接字原理_第5頁
資源描述:

《Winsocket編程之套接字原理》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、·[文章信息]作者:petery時間:2003-07-29出處:論壇責任編輯:方舟[文章導(dǎo)讀]在TCP/IP網(wǎng)絡(luò)中兩個進程間的相互作用的主機模式是客戶機/服務(wù)器模式......一、客戶機/服務(wù)器模式在TCP/IP網(wǎng)絡(luò)中兩個進程間的相互作用的主機模式是客戶機/服務(wù)器模式(Client/Servermodel)。該模式的建立基于以下兩點:1、非對等作用;2、通信完全是異步的??蛻魴C/服務(wù)器模式在操作過程中采取的是主動請示方式:首先服務(wù)器方要先啟動,并根據(jù)請示提供相應(yīng)服務(wù):(過程如下)1、打開一通信通道并告知本地主機,它愿意在某

2、一個公認地址上接收客戶請求。2、等待客戶請求到達該端口。3、接收到重復(fù)服務(wù)請求,處理該請求并發(fā)送應(yīng)答信號。4、返回第二步,等待另一客戶請求5、關(guān)閉服務(wù)器。客戶方:1、打開一通信通道,并連接到服務(wù)器所在主機的特定端口。2、向服務(wù)器發(fā)送服務(wù)請求報文,等待并接收應(yīng)答;繼續(xù)提出請求……3、請求結(jié)束后關(guān)閉通信通道并終止。二、基本套接字為了更好說明套接字編程原理,給出幾個基本的套接字,在以后的篇幅中會給出更詳細的使用說明。1、創(chuàng)建套接字——socket()功能:使用前創(chuàng)建一個新的套接字格式:SOCKETPASCALFARsocket(

3、intaf,inttype,intprocotol);參數(shù):af:通信發(fā)生的區(qū)域type:要建立的套接字類型procotol:使用的特定協(xié)議2、指定本地地址——bind()功能:將套接字地址與所創(chuàng)建的套接字號聯(lián)系起來。格式:intPASCALFARbind(SOCKETs,conststrUCtsockaddrFAR*name,intnamelen);·參數(shù):s:是由socket()調(diào)用返回的并且未作連接的套接字描述符(套接字號)。其它:沒有錯誤,bind()返回0,否則SOCKET_ERROR地址結(jié)構(gòu)說明:structs

4、ockaddr_in{shortsin_family;//AF_INETu_shortsin_port;//16位端口號,網(wǎng)絡(luò)字節(jié)順序structin_addrsin_addr;//32位IP地址,網(wǎng)絡(luò)字節(jié)順序charsin_zero[8];//保留}3、建立套接字連接——connect()和accept()功能:共同完成連接工作格式:intPASCALFARconnect(SOCKETs,conststructsockaddrFAR*name,intnamelen);SOCKETPASCALFARaccept(SOCKE

5、Ts,structsockaddrFAR*name,intFAR*addrlen);參數(shù):同上4、監(jiān)聽連接——listen()功能:用于面向連接服務(wù)器,表明它愿意接收連接。格式:intPASCALFARlisten(SOCKETs,intbacklog);5、數(shù)據(jù)傳輸——send()與recv()功能:數(shù)據(jù)的發(fā)送與接收格式:intPASCALFARsend(SOCKETs,constcharFAR*buf,intlen,intflags);intPASCALFARrecv(SOCKETs,constcharFAR*buf,

6、intlen,intflags);參數(shù):buf:指向存有傳輸數(shù)據(jù)的緩沖區(qū)的指針。6、多路復(fù)用——select()功能:用來檢測一個或多個套接字狀態(tài)。格式:intPASCALFARselect(intnfds,fd_setFAR*readfds,fd_setFAR*writefds,fd_setFAR*exceptfds,conststructtimevalFAR*timeout);參數(shù):readfds:指向要做讀檢測的指針writefds:指向要做寫檢測的指針exceptfds:指向要檢測是否出錯的指針timeout:最大

7、等待時間7、關(guān)閉套接字——closesocket()功能:關(guān)閉套接字s格式:BOOLPASCALFARclosesocket(SOCKETs);·2.1面向連接的套接字的系統(tǒng)調(diào)用時序圖2.2無連接協(xié)議的套接字調(diào)用時序圖2.3面向連接的應(yīng)用程序流程圖

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

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

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