0
在我們的一臺服務器中,有很多連接在CLOSE_WAIT中。我知道這意味着連接的另一端已關閉,現在由服務器發送FIN並將狀態更改爲LAS_ACK並關閉連接。服務器中的CLOSE_WAIT狀態
我的問題是 1.如果客戶端在服務器處於CLOSE_WAIT狀態時發送RST,該怎麼辦? 2.客戶端發送FIN後,如果服務器仍然想發送更多數據,在這種情況下服務器的狀態是什麼?
在此先感謝您的幫助。
在我們的一臺服務器中,有很多連接在CLOSE_WAIT中。我知道這意味着連接的另一端已關閉,現在由服務器發送FIN並將狀態更改爲LAS_ACK並關閉連接。服務器中的CLOSE_WAIT狀態
我的問題是 1.如果客戶端在服務器處於CLOSE_WAIT狀態時發送RST,該怎麼辦? 2.客戶端發送FIN後,如果服務器仍然想發送更多數據,在這種情況下服務器的狀態是什麼?
在此先感謝您的幫助。
如果客戶端在服務器處於CLOSE_WAIT狀態時發送RST會怎麼樣?
服務器仍然會打開套接字,所以狀態不會改變。 CLOSE_WAIT表示本地TCP正在等待本地應用程序關閉套接字。
客戶端發送了FIN後,如果服務器仍然想發送更多的數據,這種情況下服務器的狀態是什麼?
FIN表示客戶端已停止發送。這並不意味着客戶端無法收到。如果服務器試圖發送,或者:
它會成功,這意味着客戶端,只做關閉輸出,或
它會激起客戶端,這意味着關閉了客戶端的RST插座。由於TCP緩衝,RST可能不會在第一次發送時發生,而是在後一次發送時發生。
感謝您的回覆。因此,如果客戶端已關閉連接並且服務器收到FIN,並且如果服務器仍有數據要發送,那麼服務器的TCP狀態是什麼? – ahamed101
當然CLOSE_WAIT。 – EJP
感謝您的及時迴應。 – ahamed101