ホームページ > Java > &#&チュートリアル > 複数のインターフェイスを持つネットワークで Java マシンの正しい IP アドレスを取得するにはどうすればよいですか?

複数のインターフェイスを持つネットワークで Java マシンの正しい IP アドレスを取得するにはどうすればよいですか?

DDD
リリース: 2024-12-15 22:35:17
オリジナル
722 人が閲覧しました

How Can I Obtain the Correct IP Address of My Java Machine in a Network with Multiple Interfaces?

Java を使用した現在のマシンの IP アドレスの取得

課題と考慮事項

分散システムでは、特定のマシンの IP アドレスを決定するのは簡単な作業ではありません。この複雑さは、複数のネットワーク インターフェイスと各インターフェイスに関連付けられた IP アドレスが存在する可能性があるために発生します。さらに、すべての IP アドレスが外部から到達できるわけではありません。

関連付けられたすべての IP アドレスの取得

マシンにリンクされているすべての IP アドレスを取得する 1 つの方法は、NetworkInterface クラスを利用することです。このメソッドは、各ネットワーク インターフェイスを反復処理して、それに関連付けられている IP アドレスを抽出します。ただし、それらを区別することは困難です。

IP アドレスの区別

IP アドレスを区別するには、次の基準を使用します。

  • ループバック アドレス: 範囲 127.0.0.0 - 127.255.255.255
  • プライベート (サイトローカル) アドレス: 範囲 192.168.0.0 ~ 192.168.255.255、10.0.0.0 ~ 10.255.255.255、172.16.0.0 - 172.31.255.255
  • リンクローカルアドレス: 範囲 169.254.0.0 - 169.254.255.255
  • マルチキャスト アドレス: 範囲 224.0.0.0 - 239.255.255.255
  • ブロードキャスト アドレス: 255.255.255.255
  • パブリック IP アドレス: 上記に該当しないその他の IPv4 アドレスカテゴリ

InetAddress API は、特定の IP アドレス タイプをテストするメソッドを提供し、最も適切なアドレスの特定に役立ちます。

代替アプローチ

マシンの IP アドレスには次のものが含まれます:

  1. FQDN の取得と DNS の使用lookup: ホストの外部にアドバタイズされた FQDN を取得し、InetAddress.getByName() を使用してそのプライマリ IP アドレスを検索します。
  2. 設定から優先 FQDN または IP アドレスを取得します: 目的の FQDN を指定します構成ファイルまたはコマンドライン経由の IP アドレスargument.

InetAddress.getLocalHost() は多くの場合正しい IP アドレスを取得しますが、複雑なネットワーク環境では代替アプローチが必要になる場合があります。

以上が複数のインターフェイスを持つネットワークで Java マシンの正しい IP アドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート