您的位置:首页 > 理论基础 > 计算机网络

解决 Address already in use: connect 的错误

2009-04-18 20:52 447 查看
apache httpclient与close_wait
关键字: httpclient close_wait
最近做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了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  服务器 java apache 网络