V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jeesk
V2EX  ›  问与答

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

  •  
  •   jeesk · 14 小时 58 分钟前 · 744 次点击

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

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

    9 条回复    2025-01-22 14:52:58 +08:00
    tool2dx
        1
    tool2dx  
       14 小时 49 分钟前
    一般来说不用管,DNS 多条记录是为了分流 CDN 压力的。真的 IP 不通,不是服务器下线就是出硬件故障,会报警修的。

    当然,我在安卓平台开发,发现某些手机 DNS 解析很慢,特别是大批量的时候。界面会卡个几秒,用户体验很差。有 backup 优选方案,会固定一个优质 IP ,内置到 APP 里。
    AoEiuV020JP
        2
    AoEiuV020JP  
       14 小时 47 分钟前
    这种东西是应用层该管的吗,
    mxalbert1996
        3
    mxalbert1996  
       14 小时 16 分钟前 via Android
    这个取决于你用的(系统或者第三方) HTTP 请求库(除非你自己重写底层请求库)。就移动端来说,Android ( Java )的 OkHttp 和 iOS 的系统标准库都是支持的( Java 的标准库是不支持的)。
    jeesk
        4
    jeesk  
    OP
       14 小时 13 分钟前
    @mxalbert1996 okhttp 能够自动切换 ip ? 貌似不行吧。
    jeesk
        5
    jeesk  
    OP
       14 小时 13 分钟前
    @AoEiuV020JP chrome 和 curl 不是应用层了?
    jeesk
        6
    jeesk  
    OP
       14 小时 6 分钟前
    @mxalbert1996 看了一下 okhttp 目前确实支持重试多个 ip.
    jeesk
        7
    jeesk  
    OP
       13 小时 55 分钟前
    @mxalbert1996 刚才看了一下源码,okhttp 肯定是不支持自动切换失败 ip 的, 差点被 chatgpt 误导了。
    AoEiuV020JP
        8
    AoEiuV020JP  
       12 小时 59 分钟前
    @jeesk #5 我指的是 app ,
    curl 有自家的 libcurl ,这种东西感觉归 libcurl 管比较合适,
    chrome 这个就太庞大了, 上下全打通,啥都得管,
    普通 app 开发不应该管这些,
    mxalbert1996
        9
    mxalbert1996  
       12 小时 17 分钟前 via Android
    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.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:10 · PVG 03:10 · LAX 11:10 · JFK 14:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.