面試題:非阻塞tcp socket調用close時緩衝區未發送數據的處理邏輯
這個問題主要考慮兩方面,close是否會阻塞調用?write寫入的數據能否正確發送到對端?
經過實現驗證:
close之前已設置過非阻塞,所以會立即返回,如果tcp緩衝區還有數據需要發送,數據能夠正確的發送到對端。
但有一點要注意:在發送的最後一個包會加FIN標誌;如果另一端也要關閉發FIN時,本端就會發RST,因爲本端的SOCKET已經關了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
tcp 基本工作
TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2581定義。 (1) TCP概述 a. TCP提供的
Wen_de_ll
2020-07-08 10:41:26
根據計算機名獲取該計算機的所有IP
c_cyoxi
2020-07-08 03:45:12
TCP的全連接和半連接隊列
各种西瓜
2020-07-07 01:50:16
【TCP/IP】5G消息能取代IM?一文讀懂5G消息的前世今生!
素小暖
2020-07-06 17:08:02
【TCP/IP】太厲害了,終於有人能把TCP/IP 協議講的明明白白了
素小暖
2020-07-06 17:08:02
linux下ip協議(V4)的實現(四)
我恨天
2020-07-06 10:02:06
tcp connection setup的實現(二)
我恨天
2020-07-06 10:02:06
TCP/IP詳解看書筆記
michael_maomao
2020-07-06 03:05:08
TCP/IP協議詳解卷一:Chapter6 筆記
Sebastien23
2020-07-05 16:25:21
flink 運維 調優
royal007a
2020-07-05 12:57:38
《TCP/IP網絡編程》筆記
JL_MG
2020-07-05 11:48:32