send函式詳解

2021-09-01 05:53:23 字數 533 閱讀 9344

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

服務端都已經accept了客戶端的請求,於是客戶端與服務端也就勾搭上了,可以曖昧了,可以發資訊了,怎麼傳送呢?用send函式即可,我們來看看send函式的原型:

winsock_api_linkageintwsaapisend

(    socket s,    const

char far * buf,    int len,    int flags    )

;

第乙個引數是客戶端對應的套接字(千萬注意),第二個引數指向傳送的資訊所在的緩衝區(記憶體),第三個引數是緩衝區的大小,第四個引數一般設定為0. 

send函式的返回值非常重要,如果成功,則返回傳送的位元組數,如果失敗,則返回對應的失敗碼。

給我老師的人工智慧教程打call!

send函式阻塞

tcp協議本身是可靠的,並不等於應用程式用tcp傳送資料就一定是可靠的.不管是否阻塞,send傳送的大小,並不代表對端recv到多少的資料.在阻塞模式 下,send函式的過程是將應用程式請求傳送的資料拷貝到傳送快取中傳送就返回.但由於傳送快取的存在,表現為 如果傳送快取大小比請求傳送的大小要大,那麼...

recv函式和send函式

int recv socket s,char far buf,int len,int flags 不論是客戶還是伺服器應用程式都用recv函式從tcp連線的另一端接收資料。該函式的第乙個引數指定接收端套接字描述符 第二個引數指明乙個緩衝區,該緩衝區用來存放recv函式接收到的資料 第三個引數指明bu...

recv函式和send函式

recv函式 int recv socket s,char far buf,int len,int flags 不論是客戶還是伺服器應用程式都用recv函式從tcp連線的另一端接收資料。該函式的第乙個引數指定接收端套接字描述符 第二個引數指明乙個緩衝區,該緩衝區用來存放recv函式接收到的資料 第三...