0

我用DefaultHttpClient来完成几个下载。在没有enternet的情况下,我SocketTimeoutException只能在第一次下载时获得,而对于下一次下载,我会获得 java.net.SocketException: No route to host。为什么会发生这种情况?我对每个请求都使用 new httpClient 。我需要获取SocketTimeoutException每个请求,因为我应该保持下载尝试之间的超时延迟。

4

1 回答 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 回答