我使用DefaultHttpClient
来完成几个下载。在没有使用enternet的情况下,我仅在第一次下载时获得SocketTimeoutException
,在下次下载时,我获得java.net.SocketException: No route to host
。为什么会出现?我为每个请求使用新的httpClient
。我需要为每个请求获取SocketTimeoutException
,因为我应该在下载尝试之间保持超时延迟。
答案 0 :(得分:2)
查看此答案:
Android HttpUrlConnection HttpPost receive a SocketException: no route to host
Android App - Java.Net.SocketException: No route to host
和here一些解释:
您的192.168.1.114地址是由(动态)分配的DHCP地址 你的路由器到你的电脑。因此,模拟器可以看到它。
但是,根据您的WiFi设置方式,Android可能会出现问题 不同的路由器/子网,看不到192.168.1.114。你可以检查一下 通过在Android的地址栏中键入192.168.1.114 浏览器。
如果你的Android看不到192.168.1.114,那么你必须这样做 或者更改路由器上的路由规则以使其可见,或者 为它添加DNS查找。