【问题标题】:Android ConnectException error - EHOSTUNREACH (No route to host) errorAndroid ConnectException 错误 - EHOSTUNREACH (No route to host) 错误
【发布时间】:2020-03-23 09:30:58
【问题描述】:

我一直在尝试向 Google Cloud 函数发出请求,但我收到此错误作为返回:

在 120000 毫秒后无法从 /Y(端口 Z)连接到 url/地址(端口 X):isConnected 失败:EHOSTUNREACH(没有到主机的路由)

详情:

  • 仅当设备使用 3g 连接时才会发生(wifi 工作正常)
  • 有时会发生
  • 只有部分设备会显示此行为

检查云功能,那里没有记录错误。

我正在使用带有 RxJava2 的 Retrofit,这些是我认为可能导致此类错误的 Android 中唯一的代码片段。

我认为这是 3g 提供商的问题,但我不认为是这种情况,因为我用手机创建了一个热点,连接了我的电脑并使用 Postman 发出请求,它运行良好。

通过浏览器请求也可以正常工作。

除此之外,我一无所知,因为这似乎是一个完全特定且随机的错误。

感谢所有帮助!

【问题讨论】:

  • 您找到问题了吗?
  • @AniketShinde 很遗憾,我还没有...我们放弃了为该端点请求 Google Cloud 功能,因为我们没有时间继续寻找,您是否有同样的问题?我的一个朋友有类似的问题,他说这是因为某些设备支持 IPv4 和 IPv6,这与此有关,但我不知道具体情况。我认为他说他的代码在使用哪个 IP 之间切换。如果您发现任何有用的信息,请告诉我

标签: android connection google-cloud-functions rx-java retrofit2


【解决方案1】:

此问题特定于手机的网络服务。 EHOSTUNREACH (No route to host) 本质上表明它无法建立到达网络的路由。因此,当您收到错误时,3g 连接失败。

我看到该 IPv6 地址正在使用中。禁用 Android 上的 IPv6 支持并查看您是否仍然看到问题会很有用。这在移动网络 > 高级 > 接入点的 APN 协议设置中可用。

【讨论】:

  • 我有一个类似的问题,发现问题只出现在 IPv6 地址上。相同的 Api 在 IPv6 网络上的 Web 浏览器上连接良好
猜你喜欢
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 2013-02-10
  • 1970-01-01
  • 2018-09-29
  • 2022-11-24
相关资源
最近更新 更多