如果 1 个关闭并且只有 1 个 IP 地址在工作,如何自动连接到具有多个 DNS 条目的服务器?

How to automatically connect to a server having multiple DNS entries, if 1 is down and only 1 IP address is working?

一个特定的网站有 2 个 DNS 条目,即同一主机名的 2 个 IP 地址。但是,其中一个 IP 地址不起作用,只有 1 个有效。

我正在尝试开发一个 HTTP 客户端而不使用 Java 中的 HTTP 库。我正在使用 Socket.connect(hostname, port) 从我的客户端连接到服务器。

我正在使用 InetSocketAddress 解析主机名。如果它解析为工作 IP 地址,我的 HTTP 客户端工作正常。如果解析了非工作 IP 地址,我将收到未知主机异常。

I am trying to handle this efficiently, i.e. when the non working IP address is selected, it should try to connect to another IP addresses.我无法做到这一点。感谢您的所有帮助,提前致谢。

使用InetAddress.getAllByName(host)获取所有地址,然后在其中一个地址上连接超时的Socket方法。如果失败关闭套接字并尝试另一个地址