Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache HttpClient持久连接使用_Java_Apache Httpclient 4.x - Fatal编程技术网

Java Apache HttpClient持久连接使用

Java Apache HttpClient持久连接使用,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,在使用ApacheHttpClient时,我使用相同TCP连接的正确方法是什么 我目前的代码是: CloseableHttpClient httpClient = HttpClients.createDefault(); HttpClientContext httpContext = HttpClientContext.create(); for (int i = 0; i < 100; i++) { CloseableHttpResponse response = httpCli

在使用ApacheHttpClient时,我使用相同TCP连接的正确方法是什么

我目前的代码是:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpClientContext httpContext = HttpClientContext.create();
for (int i = 0; i < 100; i++)
{
    CloseableHttpResponse response = httpClient.execute(new HttpGet("http://www.google.co.uk"), httpContext);
    String responseBody = EntityUtils.toString(response.getEntity());
    EntityUtils.consume(response.getEntity());
    response.close();
}
CloseableHttpClient-httpClient=HttpClients.createDefault();
HttpClientContext httpContext=HttpClientContext.create();
对于(int i=0;i<100;i++)
{
CloseableHttpResponse response=httpClient.execute(新建HttpGet(“http://www.google.co.uk(http://httpContext);
String ResponseBy=EntityUtils.toString(response.getEntity());
使用(response.getEntity());
response.close();
}
我已经尝试过使用带有和不带有
response.close()
的代码,但是每次运行的时间都不同,我无法确定哪一次保持连接打开


有人能给我解释一下我如何保持连接畅通吗?

因此,在搞乱了之后,我发现放置线路:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpClientContext httpContext = HttpClientContext.create();
循环内部每次都使用一个新的TCP连接。事实证明,HttpClient将自动尝试并重用同一“HttpClient”对象的连接