Mar*_*538 5 rest android http-get httpclient connection-timeout
我的应用程序中有一个非常大的错误,我似乎无法解决.每当我通过以下代码进行休息呼叫时:
HttpGet request = new HttpGet(url + getParams());
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 5000);
HttpConnectionParams.setSoTimeout(httpParameters, 10000);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
httpClient.execute(request);
Run Code Online (Sandbox Code Playgroud)
我在DDMS中收到错误:
07-15 11:22:47.448: WARN/System.err(973): org.apache.http.conn.ConnectTimeoutException: Connect to (some ip-address) timed out
Run Code Online (Sandbox Code Playgroud)
但有时候代码工作得很完美,我会收到我应该的数据.我还通过计算机上的普通webbrowser测试了其余的服务器调用,并且总是在100ms内返回我的数据.那么我做错了什么?我也在另一台设备上测试了它,但这给了我同样的问题.如果有人能解决我的问题,我会很高兴:)
小智 5
问题是DefaultHttpClient.你是异步使用它吗?由于DefaultHttpClient它不是线程安全的,因此在异步环境中使用它可能会导致问题.在我的活动同时启动多个Http连接之前我遇到了这个问题,最后我改变了它的使用方法HttpURLConnection.您可以参考以下网站:http://www.vogella.de/articles/AndroidNetworking/article.html
| 归档时间: |
|
| 查看次数: |
14418 次 |
| 最近记录: |