我有一个 Android 应用程序,它连接到服务器以搜索更新。 如果服务器需要很长时间才能响应(+500ms),我必须完成我的方法并继续程序。
我已经将
readTimeout
和 connectTimeout
设置为 500 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
我需要做什么?
非常感谢,阿索克!!我使用 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.....