簡體   English   中英

Jersey Client中的CLOSE_WAIT中的套接字

[英]Sockets in CLOSE_WAIT from Jersey Client

我正在使用Jersey 1.4, ApacheHttpClient和Apache MultiThreadedHttpConnectionManager類來管理連接。 對於HttpConnectionManager ,我將staleCheckingEnabled設置為true,將maxConnectionsPerHost設置為1000,將maxTotalConnections設置為1000。其他所有設置均為默認設置。 我們正在Tomcat中運行,並使用Jersey客戶端與多個外部主機建立連接。

我注意到一段時間后,我將開始看到與Tomcat進程相關聯的CLOSE_WAIT狀態的套接字。 使用tcpdump進行的一些監視顯示,一段時間后,外部主機似乎正在關閉連接,但最終沒有關閉。 通常,套接字讀取隊列中有一些數據,通常為24個字節。 連接使用的是https,數據似乎已加密,所以我不確定它是什么。

我已檢查確保已關閉創建的ClientRequest對象。 CLOSE_WAIT中的套接字似乎確實被回收了,至少在目前,我們沒有耗盡任何資源。 我不確定外部服務器上正在發生什么。

我的問題是,這很正常嗎?

謝謝,

約翰

這可能是防火牆或遠程服務器等設備使TCP會話超時的設備。 您可以使用Wireshark分析HTTPS的數據包捕獲,如其SSL頁面所述:

http://wiki.wireshark.org/SSL

staleCheckingEnabled標志僅在您實際使用連接時才發出檢查,因此不需要網絡資源(TCP會話)時就不會使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM