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

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

举报· 929 次点击
登录 注册 站外分享
8 条回复  
tool2dx 初学 8 小时前
一般来说不用管,DNS 多条记录是为了分流 CDN 压力的。真的 IP 不通,不是服务器下线就是出硬件故障,会报警修的。 当然,我在安卓平台开发,发现某些手机 DNS 解析很慢,特别是大批量的时候。界面会卡个几秒,用户体验很差。有 backup 优选方案,会固定一个优质 IP ,内置到 APP 里。
AoEiuV020JP 小成 8 小时前
这种东西是应用层该管的吗,
mxalbert1996 小成 8 小时前
这个取决于你用的(系统或者第三方) HTTP 请求库(除非你自己重写底层请求库)。就移动端来说,Android ( Java )的 OkHttp 和 iOS 的系统标准库都是支持的( Java 的标准库是不支持的)。
jeesk 楼主 初学 8 小时前
@mxalbert1996 okhttp 能够自动切换 ip ? 貌似不行吧。
jeesk 楼主 初学 7 小时前
@AoEiuV020JP chrome 和 curl 不是应用层了?
jeesk 楼主 初学 7 小时前
@mxalbert1996 看了一下 okhttp 目前确实支持重试多个 ip.
jeesk 楼主 初学 7 小时前
@mxalbert1996 刚才看了一下源码,okhttp 肯定是不支持自动切换失败 ip 的, 差点被 chatgpt 误导了。
AoEiuV020JP 小成 6 小时前
@jeesk #5 我指的是 app , curl 有自家的 libcurl ,这种东西感觉归 libcurl 管比较合适, chrome 这个就太庞大了, 上下全打通,啥都得管, 普通 app 开发不应该管这些,
mxalbert1996 小成 6 小时前
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.
返回顶部