Tho*_*eis 7 android retrofit okhttp
在 ipv6 网络上使用 Retrofit + okhttp 发出 REST 请求时,我的应用程序遇到问题。连接到 IPv6 网络时,响应时间似乎非常长(每个请求大约 10 秒)。您能告诉我是否有任何方法可以限制该应用程序,使其优先考虑 ipv4 网络?我知道这可能会影响应用程序的可用性,但该应用程序适用于更受限制的环境,不适合公众。
Yur*_*mke 13
您可以设置自定义 Dns 实现,仅将 Dns.SYSTEM 结果过滤为 IPv4。
class DnsSelector() : Dns {
override fun lookup(hostname: String): List<InetAddress> {
return Dns.SYSTEM.lookup(hostname).filter { Inet4Address::class.java.isInstance(it) }
}
}
Run Code Online (Sandbox Code Playgroud)
然后设置它
val client = OkHttpClient.Builder().dns(DnsSelector()).build()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7995 次 |
| 最近记录: |