關於recv()和send()的返回值

當發送數據量較大時,send()函數不會一次性將數據發送出去(send()實際只是把數據拷貝到緩衝區中,然後由協議來發送),而是分多次發送,所以其返回值小於想要發送的數據長度。

 

recv()函數會等待對方的發送緩衝中的數據被協議傳送完畢,然後才返回接收到的數據長度,所以其返回值等於接收到的總的數據長度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章