有一个疑问, 到底有多少 App 使用了本地请求失败自动切换 ip ?

27 天前
jeesk  jeesk

看到有人说 curl, chrome 在 dns 查询中返回多条记录,如果有一个 ip dial 失败了,会自动 dial 下一个 ip, 那么国内其他应用呢?

我看到的实际情况是很多 socks 代理都只 dial 一个 ip 就过去了。

1224 次点击
所在节点   问与答  问与答
9 条回复
tool2dx
tool2dx
27 天前
一般来说不用管,DNS 多条记录是为了分流 CDN 压力的。真的 IP 不通,不是服务器下线就是出硬件故障,会报警修的。

当然,我在安卓平台开发,发现某些手机 DNS 解析很慢,特别是大批量的时候。界面会卡个几秒,用户体验很差。有 backup 优选方案,会固定一个优质 IP ,内置到 APP 里。
AoEiuV020JP
AoEiuV020JP
27 天前
这种东西是应用层该管的吗,
mxalbert1996
mxalbert1996
27 天前
这个取决于你用的(系统或者第三方) HTTP 请求库(除非你自己重写底层请求库)。就移动端来说,Android ( Java )的 OkHttp 和 iOS 的系统标准库都是支持的( Java 的标准库是不支持的)。
jeesk
jeesk
27 天前
@mxalbert1996 okhttp 能够自动切换 ip ? 貌似不行吧。
jeesk
jeesk
27 天前
@AoEiuV020JP chrome 和 curl 不是应用层了?
jeesk
jeesk
27 天前
@mxalbert1996 看了一下 okhttp 目前确实支持重试多个 ip.
jeesk
jeesk
27 天前
@mxalbert1996 刚才看了一下源码,okhttp 肯定是不支持自动切换失败 ip 的, 差点被 chatgpt 误导了。
AoEiuV020JP
AoEiuV020JP
27 天前
@jeesk #5 我指的是 app ,
curl 有自家的 libcurl ,这种东西感觉归 libcurl 管比较合适,
chrome 这个就太庞大了, 上下全打通,啥都得管,
普通 app 开发不应该管这些,
mxalbert1996
mxalbert1996
27 天前
https://square.github.io/okhttp/5.x/okhttp/okhttp3/-ok-http-client/-builder/retry-on-connection-failure.html?query=fun%20retryOnConnectionFailure(retryOnConnectionFailure:%20Boolean):%20OkHttpClient.Builder
> By default, this client silently recovers from the following problems:
> Unreachable IP addresses. If the URL's host has multiple IP addresses, failure to reach any individual IP address doesn't fail the overall request. This can increase availability of multi-homed services.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1107034

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX