0
我有这部分代码Apache的HTTP客户端timout问题
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(30 * 1000)
.setSocketTimeout(30 * 1000)
.setConnectionRequestTimeout(30 * 1000)
.build();
BotSynch.httpClient = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();
httpClient.execute(post);
的BotSynch.HttpClient是一类场
private static CloseableHttpClient httpClient;
后的最后一行是HttpPost。
我的实现到目前为止效果很好,但是如果我连接的服务器在30秒内没有回应发布请求,则不会发生任何事情。
有时最多可能需要10分钟,直到我收到服务器对请求的回答,这实际上是我试图通过上面的超时设置来防止的。
有没有我想念的东西或应该在旁边处理的事情?
这个'BotSynch.httpClient'是一个正确的定义吗?你有没有试过将'httpClient'定义为'CloseableHttpClient'? – araknoid
对不起,我在我的问题中加入了这个清晰的内容。它已经是一个CloseableHttpClient,是的。 – AnnaKlein
请注意,就服务器套接字超时而言,如果服务器每30秒发送至少一个数据包,连接将不会触发套接字超时。 – oleg