我一直在尝试请求 Google Cloud 函数,但返回此错误:
failed to connect to url/address (port X) from /Y (port Z) after 120000ms: isConnected failed: EHOSTUNREACH (No route to host)
详细信息:
- 它仅在设备使用 3g 连接时发生(wifi 工作正常)
- 有时会发生
- 只有部分设备显示此行为
检查云函数,那里没有记录错误。
我正在使用 Retrofit 和 RxJava2,我认为这些是 Android 中唯一可能导致此类错误的代码。
我认为这是 3g 提供商的问题,但我不认为是这种情况,因为我用手机创建了一个热点,连接了我的电脑并使用 Postman 发出了请求并且它工作正常。
通过浏览器请求也能正常工作。
除此之外,我一无所知,因为这似乎是一个完全特定且随机的错误。
感谢所有帮助!
最佳答案
此问题特定于手机的网络服务。 EHOSTUNREACH(没有到主机的路由)
本质上表明它无法建立到达网络的路由。因此,当您收到错误时,3g 连接失败。
我看到那个 IPv6 地址正在使用中。禁用 Android 上的 IPv6 支持并查看问题是否仍然存在会很有用。这在移动网络 > 高级 > 接入点的 APN 协议(protocol)设置中可用。
关于Android ConnectException 错误 - EHOSTUNREACH(无路由到主机)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59076755/