java项目close wait_java – 排除连接卡在CLOSE_WAIT状态
我一直有同樣的問題,我一直在研究套接字來擺脫這個問題。
讓我說幾句話,但在我必須說我不是Java程序員之前。
我不會解釋什么是close_wait,因為Brian White已經說過了應該說的一切。
為了避免close_wait,您需要確保您的服務器在發回響應后不會關閉連接,因為首先斷開連接的人將停留在close_wait和time_wait中。所以,如果你的服務器被卡在close_wait中,它會告訴我它在發送響應后斷開連接。
你應該通過做一些事情來避免這種情況。
1 – 如果您的客戶端應用程序沒有使用http 1.1協議,則必須將其設置為使用它,因為“keep-alive http頭文件”選項。
2 – 如果客戶端正在運行http 1.1并且不起作用,或者如果您必須使用http 1.0,則應設置連接請求頭屬性:
connection: keep-alive
這告訴服務器完成請求后客戶端和服務器都不應該斷開連接。通過這樣做,您的服務器在收到的每個請求后都不會斷開連接。
3 – 在客戶端,重新使用您的套接字。例如,如果您在循環中創建了大量套接字客戶端,則應該創建套接字一次,并在每次需要發送請求時使用它。在我的應用程序中使用的方法是具有一個套接字池,并獲得一個可用的套接字(已經連接到服務器,并且具有保持活動屬性)。然后我使用它,當我完成后,我把它放回池中是可重用的。
4 – 如果您真的需要在發送請求后斷開連接,請確保您的客戶端執行此操作并保持連接:keep-alive。
是的,當您在服務器端有很多close_waits或time_waits時,您可能會遇到問題。
看看這個[link] [1],這解釋了活著是什么。
我希望這是有幫助的。有了這些東西,我設法解決了我的問題。
總結
以上是生活随笔為你收集整理的java项目close wait_java – 排除连接卡在CLOSE_WAIT状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java计算器监听_计算器及事件监听
- 下一篇: java arraylist 字符串_J