27读缓冲区(滑动窗口)耗尽与write阻塞、拆包、延迟(五)linger 3s

读缓冲区(滑动窗口)耗尽与write阻塞、拆包、延迟(三)中,tcpnodelay+no so_linger

18读缓冲区(滑动窗口)耗尽与write阻塞、拆包、延迟(四)linger中,tcpnodelay+so_linger true 0

本文 tcpnodelay+so_linger true 3

以上,客户端mac

做出来与(三)中一样,并没有像解释的那样,等待3s,3s以后,如果发送缓冲区还有东西,则rst,而是等了12s,发出了fin

放到linux上,使用阿里云(centos 7.5)做client

服务端(腾讯):

43690
/39.104.48.166:60368

。。。。

96
97
98
99
100
101
102
103

客户端(阿里)

send + 94
send + 95
send + 96
send + 97
send + 98
send + 99 无阻塞

 

结论:

linux下,也会拆包,16,152

so_linger 3s mac与linux下都没用,过了3s即使发送缓冲区还有积压,也没发rst而是发fin,无论显式还是隐式close

 solinger终结.zip

posted on 2020-01-03 22:51  silyvin  阅读(123)  评论(0编辑  收藏  举报