繁体   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