gpt4 book ai didi

android - 如何强制我的 android 应用使用 ipv4 而不是 ipv6?

转载 作者:行者123 更新时间:2023-12-04 12:36:15 24 4
gpt4 key购买 nike

在 ipv6 网络上使用改造 + okhttp 发出 REST 请求时,我的应用程序出现问题。连接到 ipv6 网络时,响应时间似乎非常长(每个请求大约需要 10 秒)。你能告诉我是否有任何方法可以限制应用程序,使其优先考虑 ipv4 网络?我知道这会影响应用程序的可用性,但该应用程序是在更受限制的环境中使用的,它不适合公众。

最佳答案

您可以设置自定义 Dns 实现,仅将 Dns.SYSTEM 结果过滤为 IPv4。
https://github.com/yschimke/okurl/blob/master/src/main/kotlin/com/baulsupp/okurl/network/DnsSelector.kt

class DnsSelector() : Dns {
override fun lookup(hostname: String): List<InetAddress> {
return Dns.SYSTEM.lookup(hostname).filter { Inet4Address::class.java.isInstance(it) }
}
}
然后设置它
  val client = OkHttpClient.Builder().dns(DnsSelector()).build()

关于android - 如何强制我的 android 应用使用 ipv4 而不是 ipv6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64559405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com