定义了从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
}
1.// 根据内容来源地址创建一个Http请求2.HttpPost request = new HttpPost(SERVER_URL)
3.//设置请求超时
4.int timeoutConnection = 3 * 1000
5.HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection)
6.//设置响应超时
7.int timeoutSocket = 5 * 1000
8.HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket)
9.// 发送请求并获取反馈
10.DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters)
11.HttpResponse httpResponse = httpClient.execute(request)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)