如果连接时间太长,则关闭连接

时间:2018-06-19 16:45:46

标签: network-programming

我们通过代理将一些数据发送到外部API。 事实证明,这些地址之一具有查询限制。第5个查询不返回响应,因此连接仍处于打开状态并且什么也不做。我添加了SocketTimeout和ConnectionTimeout,但这没有帮助。

RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(10 * 1000).setSocketTimeout(10 * 1000).build();
    this.httpClient1 = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).setProxy(new HttpHost(ipsIterator.next(), PROXY_PORT)).build();

超时后,连接没有关闭,但仍在等待响应。 什么会导致这种行为? 你知道我该怎么解决吗?

我考虑过添加ExecutorService来在超时(ExecutorService that interrupts tasks after a timeout)之后中断任务。那将是一个好的解决方案吗?

0 个答案:

没有答案