パッケージ org.piax.util

クラス LocalInetAddrs

java.lang.Object
org.piax.util.LocalInetAddrs

public class LocalInetAddrs
extends Object
ローカルに保持されるIPアドレスを外向けアドレスとして使用されているものを 選び出すためのユーティリティクラス。 但し、以下の制限がある。
  • IPv6には未対応(IPv6アドレスは除外される)
  • Java6以上を前提にしている。
  • 2つ以上の候補が存在する場合、先に見つかったアドレスを返す。
  • フィールドの概要

    フィールド 
    修飾子とタイプ フィールド 説明
    static long NO_LISTUP_PERIOD
    ローカルIPアドレスのリストを頻繁に更新しないための抑止期間
  • コンストラクタの概要

    コンストラクタ 
    コンストラクタ 説明
    LocalInetAddrs()  
  • メソッドの概要

    修飾子とタイプ メソッド 説明
    static InetAddress choice()
    グローバルアドレス、サイトローカルアドレス、リンクローカルアドレスの順に、 ローカルIPアドレスの中から接続性の高い外部アドレスを選択して返す。
    static InetAddress choiceIfIsLocal​(InetAddress target)
    指定されたInetAddress targetがローカルIPアドレスの場合に限り、 choiceを呼び出す。
    static boolean isLocal​(InetAddress target)
    指定されたInetAddressがローカルIPアドレスの場合はtrueを返す。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

  • メソッドの詳細

    • isLocal

      public static boolean isLocal​(InetAddress target)
      指定されたInetAddressがローカルIPアドレスの場合はtrueを返す。
      パラメータ:
      target - 指定されたInetAddress
      戻り値:
      targetがローカルIPアドレスの場合はtrue、それ以外はfalse
    • choice

      public static InetAddress choice()
      グローバルアドレス、サイトローカルアドレス、リンクローカルアドレスの順に、 ローカルIPアドレスの中から接続性の高い外部アドレスを選択して返す。 外部アドレスがない場合は、ループバックアドレス(127.0.0.1)を返す。

      尚、複数のIPアドレスの候補が存在する場合は最初に見つかったアドレスが 返される。このため、明示的にセットアップしたアドレスが返されないことも 起こりえる。

      戻り値:
      接続性の高い外部アドレス、ない場合は127.0.0.1
    • choiceIfIsLocal

      public static InetAddress choiceIfIsLocal​(InetAddress target)
      指定されたInetAddress targetがローカルIPアドレスの場合に限り、 choiceを呼び出す。 targetがローカルIPアドレスでない場合は、それ自身が返される。
      パラメータ:
      target - 指定されたInetAddress
      戻り値:
      targetがローカルIPアドレスの場合はより接続性の高い外部アドレス、 それ以外の場合はtarget