首页 > Web开发 > 详细

解决 httpclient 下 Address already in use: connect 的错误

时间:2019-02-27 19:57:19      阅读:1640      评论:0      收藏:0      [点我收藏+]

最近做httpclient做转发服务,发现服务器上总是有很多close_wait状态的连接,而且这些连接都不会关闭,最后导致服务器没法建立新的网络连接,从而停止响应。 
后来在网上搜索了一下,发现解决的方法也很简单,如果想重用连接,那就使用连接管理器,从连接管理器里获取连接,然后定时的用连接管理器来释放空闲连接。httpclient自带了SimpleHttpConnectionManager,提供了Java代码 
closeIdleConnections(long idleTimeout) 

closeIdleConnections(long idleTimeout) 这样的方法。 
如果不需要重用链接,则直接在httpmethod创建时,设置一个http头信息就可以了 
Java代码 
httpmethod.setRequestHeader("Connection", "close"); 

httpmethod.setRequestHeader("Connection", "close"); 
这样就不会有恼人的close_wait了。

解决 httpclient 下 Address already in use: connect 的错误

原文:https://www.cnblogs.com/zhouj850/p/10445844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!