【发布时间】:2011-03-05 18:24:48
【问题描述】:
我正在编写一个连接到网络服务的应用程序,如果它无法获得连接,我不希望它等待太久。因此,我设置了 httpparams 的 connectionTimeout。但这似乎没有任何作用。
为了测试,我暂时关闭了 WLAN。应用程序尝试连接很长一段时间(超过我想要的 3 秒),然后抛出 UnknownHostException。
这是我的代码:
try{
HttpClient httpclient = new DefaultHttpClient();
HttpParams params = httpclient.getParams();
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 3000);
httppost = new HttpPost(URL);
StringEntity se = new StringEntity(envelope,HTTP.UTF_8);
httppost.setEntity(se);
//Code stops here until UnknownHostException is thrown.
BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient.execute(httppost);
HttpEntity entity = httpResponse.getEntity();
return entity;
}catch (Exception e){
e.printStackTrace();
}
有人知道我错过了什么吗?
【问题讨论】: