定义了从ConnectionManager管理的连接池中取出连接的超时时间。
出错会抛出ConnectionPoolTimeoutException
第二,ConnectionTimeout:
定义了通过网络与服务器建立连接的超时时间,Httpclient包中通过一个异步线程去创建与服务器的socket连接,这就是该socket连接的超时时间。
当连接HTTP服务器或者等待HttpConnectionManager管理的一个有效连接超时出错会抛出ConnectionTimeoutException
第三,SocketTimeout:
这定义了Socket读数据的超时时间,即从服务器获取响应数据需要等待的时间。
当读取或者接收Socket超时会抛出SocketTimeoutException
您好,我是这样设置的,代码如下:public static InputStream getHttpByApache(String urlStr) throws Exception {
HttpGet httpGet = new HttpGet(urlStr)
HttpClient httpClient = new DefaultHttpClient()
// 设置连接超时、读取超时
HttpParams basicHttpParams = new BasicHttpParams()
HttpConnectionParams.setConnectionTimeout(basicHttpParams, 3 * 1000)
HttpConnectionParams.setSoTimeout(basicHttpParams, 3 * 1000)
HttpResponse httpResponse = httpClient.execute(httpGet)
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
return httpResponse.getEntity().getContent()
}
return null
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)