1. 程式人生 > >引發RES狀態的原因(面經沒見考,但是我覺得還是挺重要的,就先整理在這裡,以後有需要就來看一眼)

引發RES狀態的原因(面經沒見考,但是我覺得還是挺重要的,就先整理在這裡,以後有需要就來看一眼)

 

情況一:服務沒開啟成功

比如說伺服器要開啟80埠,由於某種原因,我們並沒有開啟這個服務。應用程式預設尋找80埠,但是找不到對應的服務,此時底層會給服務傳送一個RST

 

情況二:請求超時(程式bug引起)

請求超時時。當連線的處理時間超過了設定的時間,客戶端或者服務端會給對方傳送一個RST,表示不要連線了。著可能使我們的程式設定上有一些bug導致的。

 

情況三:應用程式bug

應用程式有bug。處理了一部分訊息之後,程式誤以為客戶端出現問題,然後主動停掉了對於客戶端的服務。此時處理了一半的訊息就斷了

 

情況四:對端重啟了

客戶端有一段時間沒有向伺服器傳送訊息,此段時間內伺服器重啟了一下,此時客戶端並不知情。此時客戶端再次傳送訊息給伺服器,伺服器接受不了客戶端發來的訊息。此時,伺服器會給客戶端傳送RST ,讓連結重置。