找遍了 中英文網站,翻遍了能找的角落,發現了出現故障的原因和原理,及改如何處理,這裡記錄下,希望能幫助到有需要的小伙伴,少走點彎路, 以上就整理內容:
connection reset by peer問題總結及解決方案
1.伺服器的並發連接數超過了其承載量,伺服器會將其中一些連接關閉
如果實際連接數沒有實際連接數超過伺服器的承載量,則有可能是中了病毒或木馬,造成網路流量異常。
解決方法:可以使用netstat -an指令查看網路連線情況。
2.客戶端關掉了瀏覽器,而伺服器還在給客戶端發送資料
3.瀏覽器按了Stop
這兩種情況一般不會影響伺服器,但是如果對異常訊息沒有特別處理,有可能在伺服器的日誌檔案中,重複出現該異常,造成伺服器日誌檔案過大,影響伺服器的運作。
解決方法:可以對引起異常的部分,使用try…catch捕獲異常,然後不輸出或只輸出一句提示信息,避免輸出全部異常信息。
4.防火牆的問題
如果網路連線通過防火牆,而防火牆一般都會有超時的機制,在網路連線長時間不傳送資料時,會關閉這個TCP的會話,關閉後再讀寫,就會導致異常。
解決方法:如果關閉防火牆,解決了問題,需要重新配置防火牆,或自行編寫程式實現TCP的長連線。
實現TCP的長連接,需要自行定義心跳協議,每隔一段時間,發送一次心跳協議,雙方維持連接。
5.JSP的buffer問題
JSP頁面缺省快取為8K,當JSP頁面資料比較大的時候,有可能JSP沒有完全傳遞給瀏覽器。
解決方法:可以適當調整buffer的大小。