两者之间有什么区别(标记为评论):
MultiThreadedHttpConnectionManager connManag = new MultiThreadedHttpConnectionManager();
HttpConnectionManagerParams managParams = connManag.getParams();
managParams.setConnectionTimeout(connectiontimeout); // 1
managParams.setSoTimeout(sotimeout); //2
HttpMethodBase baseMethod = null;
try {
HttpClient client = new HttpClient(connManag);
client.getParams().setParameter("http.connection-manager.timeout", poolTimeout); //3
baseMethod = new GetMethod(…);
int statusCode = client.executeMethod(…);
…
}
catch (ConnectTimeoutException cte ){
//Took too long to connect to remote host
}
catch (SocketTimeoutException ste){
//Remote host didn’t respond in time
}
catch (Exception se){
//Some other error occurred
}
finally {
if (baseMethod != null)
baseMethod.releaseConnection();
}
1. setConnectionTimeout
-如果它确定在建立连接之前的超时。2. setSoTimeout
-如果它确定两个连续数据包之间的闲置时间段或时间差,然后,下面的一个做什么:
3. "http.connection-manager.timeout"
最佳答案
最低级别的HTTP是TCP套接字。因此,当您请求URL并获得响应时,在较低级别上,将创建一个客户端套接字,该客户端套接字建立与远程服务器套接字的连接,发送一些数据并接收响应。
HTTP Error 408
不同。换句话说,在建立连接后到达客户端的两个连续数据包之间的最大周期不 Activity 。 MultiThreadedHttpConnectionManager
使用HTTP连接的池。它为每个主机设置了最大值和最小值。如果特定主机的所有连接都达到最大值,则同一主机对新连接的请求将不得不等待,直到现有连接中的任何一个变为空闲为止。此参数表示发出连接请求时和HttpConnectionManager
返回连接之前经过的时间。