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

クラスInetSocketAddress

java.lang.Object
java.net.SocketAddress
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アドレスとポート番号からソケット・アドレスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    createUnresolved​(String host, int port)
    ホスト名とポート番号から未解決のソケット・アドレスを作成します。
    boolean
    equals​(Object obj)
    このオブジェクトと指定されたオブジェクトを比較します。
    InetAddressを取得します。
    hostnameを取得します。
    ホスト名または、ホスト名がない(リテラルを使用して作成された)場合は文字列形式のアドレスを返します。
    int
    ポート番号を取得します。
    int
    このソケット・アドレスのハッシュ・コードを返します。
    boolean
    アドレスが解決されたかどうかを調べます。
    このInetSocketAddressの文字列表現を構築します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • 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を取得します。
      戻り値:
      InetAddressまたは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()を呼び出し、それにポート番号を(コロン付きで)連結することで構築されます。 アドレスがIPv6アドレスの場合、IPv6リテラルは大カッコで囲まれています。 アドレスが「未解決」の場合は、アドレス・リテラルのかわりに<unresolved>が表示されます。
      オーバーライド:
      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)
    • hashCode

      public final int hashCode()
      このソケット・アドレスのハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このソケット・アドレスのハッシュ・コード値。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)