0

特定の Web サイトには 2 つの DNS エントリ、つまり同じホスト名に対して 2 つの IP アドレスがあります。しかし、IP アドレスの 1 つが機能しておらず、1 つしか機能していません。

Java で HTTP ライブラリを使用せずに HTTP クライアントを開発しようとしています。クライアントからサーバーに接続するために Socket.connect(hostname, port) を使用しています。

ホスト名を解決するために InetSocketAddress を使用しています。動作中の IP アドレスに解決された場合、HTTP クライアントは正常に動作します。機能していない IP アドレスが解決されると、不明なホスト例外が発生します。

これを効率的に処理しようとしています。つまり、機能していない IP アドレスが選択された場合、別の IP アドレスに接続しようとする必要があります。私はこれを達成することができません。事前に感謝します。

4

1 に答える 1

0

InetAddress.getAllByName(host)を使用してすべてのアドレスを取得し、いずれかのアドレスでタイムアウトを指定して Socket のメソッドを接続します。ソケットのクローズに失敗した場合は、別のアドレスを試してください

于 2015-01-31T00:15:47.220 に答える