モジュール java.base
パッケージ java.net

クラスInetSocketAddress

  • すべての実装されたインタフェース:
    Serializable


    public class InetSocketAddress
    extends SocketAddress
    このクラスは、IPソケット・アドレス(IPアドレス+ポート番号)を実装します。これはペア(ホスト名+ポート番号)にすることもできます。その場合、ホスト名の解決が試みられます。 解決に失敗すると、そのアドレスは未解決と呼ばれるようになりますが、プロキシ経由の接続のような一部の環境ではまだ使用することができます。

    このクラスは、バインドまたは接続のためにソケットが使用する、または戻り値として使用する変更不可能なオブジェクトを提供します。

    ワイルドカードは特殊なローカルIPアドレスです。 それは通常「任意」を意味しており、bind操作だけに使用できます。

    導入されたバージョン:
    1.4
    関連項目:
    SocketServerSocket直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      InetSocketAddress​(int port)
      ソケット・アドレスを作成します。この場合、IPアドレスはワイルドカード・アドレスで、ポート番号は指定された値です。
      InetSocketAddress​(String hostname, int port)
      ホスト名とポート番号からソケット・アドレスを作成します。
      InetSocketAddress​(InetAddress addr, int port)
      IPアドレスとポート番号からソケット・アドレスを作成します。
    • コンストラクタの詳細

      • InetSocketAddress

        public InetSocketAddress​(int port)
        ソケット・アドレスを作成します。この場合、IPアドレスはワイルドカード・アドレスで、ポート番号は指定された値です。

        有効なポート番号は0から65535の範囲です。 ポート番号がzeroの場合は、bind操作で一時的なポートが選択されます。

        パラメータ:
        port - ポート番号
        例外:
        IllegalArgumentException - portパラメータが指定された有効なポート値の範囲外である場合。
      • InetSocketAddress

        public InetSocketAddress​(InetAddress addr,
                                 int port)
        IPアドレスとポート番号からソケット・アドレスを作成します。

        有効なポート番号は0から65535の範囲です。 ポート番号がzeroの場合は、bind操作で一時的なポートが選択されます。

        アドレスがnullの場合は、ワイルドカード・アドレスが割り当てられます。

        パラメータ:
        addr-IPアドレス
        port - ポート番号
        例外:
        IllegalArgumentException - portパラメータが指定された有効なポート値の範囲外である場合。
      • InetSocketAddress

        public InetSocketAddress​(String hostname,
                                 int port)
        ホスト名とポート番号からソケット・アドレスを作成します。

        InetAddressへのホスト名の解決が試みられます。 その試みが失敗すると、そのアドレスには未解決のフラグが付けられます。

        セキュリティ・マネージャが存在する場合、そのcheckConnectメソッドがホスト名を引数に指定して呼び出され、ホスト名を解決する権限がチェックされます。 この結果、SecurityExceptionがスローされることがあります。

        有効なポート番号は0から65535の範囲です。 ポート番号がzeroの場合は、bind操作で一時的なポートが選択されます。

        パラメータ:
        hostname - ホスト名
        port - ポート番号
        例外:
        IllegalArgumentException - portパラメータが有効なポート値の範囲外である場合、またはhostnameパラメータがnullの場合。
        SecurityException-セキュリティ・マネージャが存在し、ホスト名を解決する権限が拒否された場合。
        関連項目:
        isUnresolved()
    • メソッドの詳細

      • createUnresolved

        public static InetSocketAddress createUnresolved​(String host,
                                                         int port)
        ホスト名とポート番号から未解決のソケット・アドレスを作成します。

        InetAddressへのホスト名の解決は試みられません。 このアドレスには未解決のフラグが付けられます。

        有効なポート番号は0から65535の範囲です。 ポート番号がzeroの場合は、bind操作で一時的なポートが選択されます。

        パラメータ:
        host - ホスト名
        port - ポート番号
        戻り値:
        未解決のソケット・アドレスを表すInetSocketAddress
        例外:
        IllegalArgumentException - portパラメータが有効なポート値の範囲外である場合、またはhostnameパラメータがnullの場合。
        導入されたバージョン:
        1.5
        関連項目:
        isUnresolved()
      • getPort

        public final int getPort​()
        ポート番号を取得します。
        戻り値:
        ポート番号。
      • getAddress

        public final InetAddress getAddress​()
        InetAddressを取得します。
        戻り値:
        InetAdress。未解決の場合はnull
      • getHostName

        public final String getHostName​()
        hostnameを取得します。 注: このメソッドは、アドレスがリテラルIPアドレスで作成された場合、逆ネーム・サービス検索をトリガーする場合があります。
        戻り値:
        アドレスのホスト名部分。
      • getHostString

        public final String getHostString​()
        ホスト名または、ホスト名がない(リテラルを使用して作成された)場合は文字列形式のアドレスを返します。 これは、逆検索を試みないという利点があります。
        戻り値:
        ホスト名。またはアドレスのString表現。
        導入されたバージョン:
        1.7
      • isUnresolved

        public final boolean isUnresolved​()
        アドレスが解決されたかどうかを調べます。
        戻り値:
        ホスト名をInetAddressに解決できなかった場合はtrue
      • toString

        public String toString​()
        このInetSocketAddressの文字列表現を構築します。 このStringは、InetAddressのtoString()を呼び出し、それにポート番号を(コロン付きで)連結することで構築されます。 アドレスが未解決の場合、コロンの前の部分にはホスト名だけが含まれます。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このオブジェクトの文字列表現。
      • equals

        public final boolean equals​(Object obj)
        このオブジェクトと指定されたオブジェクトを比較します。 引数がnullではなく、その引数がこのオブジェクトと同じアドレスを表す場合にだけ、結果がtrueになります。

        2つのInetSocketAddressインスタンスのInetAddress (アドレスが未解決の場合はホスト名)とポート番号の両方が等しい場合、両者は同じアドレスを表しています。 どちらのアドレスも未解決である場合には、ホスト名とポート番号が比較されます。 注:ホスト名は大文字と小文字が区別されません。たとえば、「FooBar」と「foobar」は同等と見なされます。

        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象のオブジェクト。
        戻り値:
        オブジェクトが同じである場合はtrue、そうでない場合はfalse
        関連項目:
        InetAddress.equals(java.lang.Object)