我用DefaultHttpClient
来完成几个下载。在没有enternet的情况下,我SocketTimeoutException
只能在第一次下载时获得,而对于下一次下载,我会获得 java.net.SocketException: No route to host
。为什么会发生这种情况?我对每个请求都使用 new httpClient
。我需要获取SocketTimeoutException
每个请求,因为我应该保持下载尝试之间的超时延迟。
问问题
7392 次
1 回答
2
签出这个答案:
Android HttpUrlConnection HttpPost 收到 SocketException: no route to host
Android 应用程序 - Java.Net.SocketException:没有路由到主机
这里有一些解释:
您的 192.168.1.114 地址是路由器分配给 PC 的 DHCP 地址(动态)。因此,它对模拟器是可见的。
但根据您的 WiFi 设置方式,Android 可能位于不同的路由器/子网上,并且看不到 192.168.1.114。您可以通过在 Android 浏览器的地址栏中输入 192.168.1.114 来检查。
如果 192.168.1.114 对您的 Android 不可见,则您必须更改路由器上的路由规则以使其可见,或者为其添加 DNS 查找。
于 2013-06-05T02:34:30.023 回答