1

我有一个连接在服务器中搜索更新的 Android 应用程序。如果服务器响应时间很长(+500 毫秒),我必须完成我的方法并继续执行程序。

我已经将readTimeoutand设置connectTimeout500 ms,但即便如此,我的方法在这一行中也需要大约 30 秒:c.connect();

这是我的代码:

HttpURLConnection c = (HttpURLConnection) updateUrl.openConnection();
c.setConnectTimeout(500);
c.setReadTimeout(500);
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();  // the program stops here

我需要做什么?

4

1 回答 1

1

非常感谢,阿索克!!我使用 org.apache.http.client.HttpClient 解决了:

HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 500);
HttpConnectionParams.setSoTimeout(httpParameters, 500);

HttpGet httpget = new HttpGet(updateUrl.toURI());
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setParams(httpParameters);

HttpResponse response = httpClient.execute(httpget);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();

//download file.....
于 2012-08-17T20:28:41.550 回答