欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

發送字節和接收字節是什么意思

劉柏宏2年前17瀏覽0評論

發送字節和接收字節是什么意思?

接收端接收緩沖區滿后,發送端會收到0 win并啟動persist timer,當persist timer過期后,發送端會發探針包試探接收端的接收窗口還是不是0。在0 win期間,接收端應用從緩沖區中讀出256字節消費掉,persist timer再次過期后,發送端會發送1個字節過來,接收端因為當前接收緩沖區已經有256字節的可用空間了,完全可以接收這1個字節,所以就確認了這1個字節。但是因為接收緩沖區沒有滿足一定的條件,所以0 win還沒有解除。這段描述應該是這個意思!

回到題主的疑惑,這1個字節被ACK了,是不是會被應用讀取?會的!這個字節是業務數據,應用程序真正需要的,缺1字節就不完整的。只是因為在tcp傳輸這1個字節時趕上了接收端的0 win,導致他作為探針發送過去的!------------------------------------------------------------------------------------------

有點奇怪,我在我的機器上并沒有模擬出來這種情況:

1:服務端接收緩沖設置為1024,客戶端發送2000個字節,導致了0 win。

2:在0 win期間,服務端recv了1151個字節,當定時器過期后,發送探針包,依然還是0 win。

3:服務端把剩下那一個字節消費掉,通知發送端,0 win狀態解除了。

我的機器是centos 7.6,發送端0 win的探針包沒看到有帶應用數據的。

java 按字節讀入,發送字節和接收字節是什么意思