就在昨天,在调试我的 android 应用程序时,我发现每当无法进行反向 dns 查找时,我的连接需要大量时间才能启动(大约 20-30 秒)。
我设法将来源缩小到 InetAddress.getHostName() 调用(这需要花费大量时间),但我(不幸的是)对如何解决它一无所知。我了解没有 DNS 验证的 SSL 连接更容易受到 MITM 攻击;在这种情况下,我宁愿通知用户有关问题,而不是让他永远等待应用程序加载和连接。我一直在来回浏览网页以寻找答案,我可以找到在 java 中解决该问题的方法,但它们都不适用于 android(至少我无法缓存 inetaddress 也无法使用替代类来解析我的主机名带有impl属性)。
有什么办法可以将超时限制为一些合理的超时(例如:2-3 秒)?我想节省将 ssl 套接字重写为 android 本机代码所需的时间。
谢谢!