亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

對send(),recv()函數的全面理解

2024-09-01 13:50:01
字體:
來源:轉載
供稿:網友

int send( SOCKET s, const char FAR *buf, int len, int flags );

不論是客戶還是服務器應用程序都用send函數來向TCP連接的另一端發送數據。

客戶程序一般用send函數向服務器發送請求,而服務器則通常用send函數來向客戶程序發送應答。

該函數的第一個參數指定發送端套接字描述符;

第二個參數指明一個存放應用程序要發送數據的緩沖區;

第三個參數指明實際要發送的數據的字節數;

第四個參數一般置0。

這里只描述同步Socket的send函數的執行流程。當調用該函數時,send先比較待發送數據的長度len和套接字s的發送緩沖的 長度, 如果len大于s的發送緩沖區的長度,該函數返回SOCKET_ERROR;如果len小于或者等于s的發送緩沖區的長度,那么send先檢查協議 是否正在發送s的發送緩沖中的數據,如果是就等待協議把數據發送完,如果協議還沒有開始發送s的發送緩沖中的數據或者s的發送緩沖中沒有數據,那么 send就比較s的發送緩沖區的剩余空間和len,如果len大于剩余空間大小send就一直等待協議把s的發送緩沖中的數據發送完,如果len小于剩余 空間大小send就僅僅把buf中的數據copy到剩余空間里(注意并不是send把s的發送緩沖中的數據傳到連接的另一端的,而是協議傳的,send僅僅是把buf中的數據copy到s的發送緩沖區的剩余空間里)。如果send函數copy數據成功,就返回實際copy的字節數,如果send在copy數據時出現錯誤,那么send就返回SOCKET_ERROR;如果send在等待協議傳送數據時網絡斷開的話,那么send函數也返回SOCKET_ERROR。

要注意send函數把buf中的數據成功copy到s的發送緩沖的剩余空間里后它就返回了,但是此時這些數據并不一定馬上被傳到連接的另一端。如 果協議在后續的傳送過程中出現網絡錯誤的話,那么下一個Socket函數就會返回SOCKET_ERROR。(每一個除send外的Socket函數在執 行的最開始總要先等待套接字的發送緩沖中的數據被協議傳送完畢才能繼續,如果在等待時出現網絡錯誤,那么該Socket函數就返回 SOCKET_ERROR)

注意:在Unix系統下,如果send在等待協議傳送數據時網絡斷開的話,調用send的進程會接收到一個SIGPIPE信號,進程對該信號的默認處理是進程終止。

recv函數

int recv( SOCKET s, char FAR *buf, int len, int flags );

不論是客戶還是服務器應用程序都用recv函數從TCP連接的另一端接收數據。

該函數的第一個參數指定接收端套接字描述符;

第二個參數指明一個緩沖區,該緩沖區用來存放recv函數接收到的數據;

第三個參數指明buf的長度;

第四個參數一般置0。

這里只描述同步Socket的recv函數的執行流程。當應用程序調用recv函數時,recv先等待s的發送緩沖中的數據被協議傳送完畢,如果協議在傳送s的發送緩沖中的數據時出現網絡錯誤,那么recv函數返回SOCKET_ERROR,如果s的發送緩沖中沒有數 據或者數據被協議成功發送完畢后,recv先檢查套接字s的接收緩沖區,如果s接收緩沖區中沒有數據或者協議正在接收數據,那么recv就一直等待,只到 協議把數據接收完畢。當協議把數據接收完畢,recv函數就把s的接收緩沖中的數據copy到buf中(注意協議接收到的數據可能大于buf的長度,所以 在這種情況下要調用幾次recv函數才能把s的接收緩沖中的數據copy完。recv函數僅僅是copy數據,真正的接收數據是協議來完成的),recv函數返回其實際copy的字節數。如果recv在copy時出錯,那么它返回SOCKET_ERROR;如果recv函數在等待協議接收數據時網絡中斷了,那么它返回0。

注意:在Unix系統下,如果recv函數在等待協議接收數據時網絡斷開了,那么調用recv的進程會接收到一個SIGPIPE信號,進程對該信號的默認處理是進程終止。
cp協議本身是可靠的,并不等于應用程序用tcp發送數據就一定是可靠的.不管是否阻塞,send發送的大小,并不代表對端recv到多少的數據.
在阻塞模式下, send函數的過程是將應用程序請求發送的數據拷貝到發送緩存中發送并得到確認后再返回.但由于發送緩存的存在,表現為:如果發送緩存大小比請求發送的大小要大,那么send函數立即返回,同時向網絡中發送數據;否則,send向網絡發送緩存中不能容納的那部分數據,并等待對端確認后再返回(接收端只要將數據收到接收緩存中,就會確認,并不一定要等待應用程序調用recv);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产91久久| 中文字幕成人在线| 欧美专区在线播放| 久久影院资源网| 久久精品美女视频网站| 亚洲美女精品成人在线视频| 伊人久久大香线蕉av一区二区| 久久久成人av| 亚洲欧美日韩直播| 久久久久成人精品| 国产精品久久久久久久一区探花| 国内精品美女av在线播放| 日韩av综合中文字幕| 久久精品国产一区二区三区| 色狠狠久久aa北条麻妃| 日本久久久久久| www.欧美免费| 亚洲综合国产精品| 日本精品久久中文字幕佐佐木| 亚洲一区二区中文字幕| 成人在线观看视频网站| 97国产真实伦对白精彩视频8| 亚洲人成电影在线播放| 欧美精品久久一区二区| 日本韩国欧美精品大片卡二| 91在线国产电影| 久久国产精品久久国产精品| 中文国产成人精品久久一| 成人av.网址在线网站| www亚洲欧美| 国产精品男女猛烈高潮激情| 久久精品影视伊人网| 日韩的一区二区| 欧美成年人视频网站欧美| 欧美精品久久久久久久免费观看| 亚洲人免费视频| 亚洲精品电影网站| 亚洲激情中文字幕| 精品国产一区二区三区久久久狼| 亚洲欧美一区二区激情| 国产成人鲁鲁免费视频a| 91社区国产高清| 人体精品一二三区| 欧美日韩性生活视频| 日韩a**站在线观看| 国产精品久久久久久久久久尿| 欧美高跟鞋交xxxxxhd| 亚洲福利视频二区| 久久久国产成人精品| 精品一区二区三区四区| 美女扒开尿口让男人操亚洲视频网站| 国产美女精品免费电影| xvideos成人免费中文版| 亚洲男人天堂网| 欧美精品在线免费| 国产美女久久久| 国产精品一区二区三区久久久| 中文字幕欧美视频在线| 美女精品视频一区| 日韩精品福利网站| 久久精视频免费在线久久完整在线看| 亚洲视频自拍偷拍| 亚洲区一区二区| 欧美精品免费在线观看| 668精品在线视频| 日韩精品视频在线观看网址| 色噜噜久久综合伊人一本| 国产欧美在线视频| 国产精品第10页| 国产精品aaa| 2023亚洲男人天堂| 琪琪亚洲精品午夜在线| 国产精品网站大全| 久久久中文字幕| 国产精品久久久久久久av电影| 欧美午夜电影在线| 粉嫩av一区二区三区免费野| 国产精品都在这里| 在线播放精品一区二区三区| 在线观看国产精品日韩av| 一区二区欧美久久| 日韩在线小视频| 97激碰免费视频| 日韩免费观看av| 欧美亚洲一区在线| 久久精品中文字幕电影| 午夜精品视频网站| 国产日韩中文字幕在线| 中文字幕在线精品| 精品久久久久久中文字幕| 久久精品欧美视频| 久久精品国产久精国产思思| 精品人伦一区二区三区蜜桃网站| 亚洲成人黄色在线观看| 91社影院在线观看| 日韩精品一区二区视频| 国产成人黄色av| 亚洲国产欧美久久| 亚洲天堂视频在线观看| 欧美一区二区三区免费视| 欧美中文字幕在线观看| 欧美成人一区二区三区电影| 久久久亚洲精品视频| 欧美黄色片在线观看| 蜜臀久久99精品久久久无需会员| 亚洲精品91美女久久久久久久| 自拍偷拍亚洲精品| 久久久久久网站| 91美女高潮出水| 中文字幕在线看视频国产欧美在线看完整| 中文字幕视频在线免费欧美日韩综合在线看| 国产亚洲欧洲高清一区| 欧美电影免费看| 国产日韩欧美电影在线观看| 亚洲精品国产电影| 久久久av网站| 欧美成人激情视频免费观看| 国产精品久久久久秋霞鲁丝| 最近免费中文字幕视频2019| 国产精品视频中文字幕91| 91精品国产91久久久久久久久| 久久亚洲一区二区三区四区五区高| 日韩禁在线播放| 亚洲精品视频二区| 久久69精品久久久久久久电影好| 国产精品久久999| 久久综合久久美利坚合众国| 国产自摸综合网| 黄色91在线观看| 久久久久久69| 国产精品视频自拍| 国产精品成人va在线观看| 欧美亚洲日本黄色| 日韩在线小视频| 亚洲国产成人av在线| 久久九九热免费视频| 高清欧美一区二区三区| www国产亚洲精品久久网站| 国产精品扒开腿做爽爽爽男男| 欧美日韩亚洲国产一区| 亚洲精品97久久| 国产精品高潮在线| 日本在线观看天堂男亚洲| 国产色综合天天综合网| 亚洲第一页中文字幕| 亚洲国产高清高潮精品美女| 色视频www在线播放国产成人| 亚洲人免费视频| 欧美性xxxxxxx| 欧美精品成人91久久久久久久| 久久久久中文字幕2018| 91精品国产自产在线观看永久| 大荫蒂欧美视频另类xxxx| 日本19禁啪啪免费观看www| 中文字幕av一区中文字幕天堂| 日韩电影在线观看中文字幕| 久久精品视频99| 亚洲欧美日韩一区二区在线| 久久69精品久久久久久久电影好| 欧美成人在线网站| 日韩高清免费观看| 98午夜经典影视| 综合av色偷偷网| 久久免费观看视频|