JavaTM 2 Platform
Standard Ed. 5.0

java.net
クラス InetSocketAddress

java.lang.Object
  上位を拡張 java.net.SocketAddress
      上位を拡張 java.net.InetSocketAddress
すべての実装されたインタフェース:
Serializable

public class InetSocketAddress
extends SocketAddress

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

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

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

導入されたバージョン:
1.4
関連項目:
Socket, ServerSocket, 直列化された形式

コンストラクタの概要
InetSocketAddress(InetAddress addr, int port)
          IP アドレスとポート番号からソケットアドレスを作成します。
InetSocketAddress(int port)
          ソケットアドレスを作成します。
InetSocketAddress(String hostname, int port)
          ホスト名とポート番号からソケットアドレスを作成します。
 
メソッドの概要
static InetSocketAddress createUnresolved(String host, int port)
          ホスト名とポート番号から未解決のソケットアドレスを作成します。
 boolean equals(Object obj)
          このオブジェクトと指定されたオブジェクトとを比較します。
 InetAddress getAddress()
          InetAddress を取得します。
 String getHostName()
          hostname を取得します。
 int getPort()
          ポート番号を取得します。
 int hashCode()
          このソケットアドレスのハッシュコードを返します。
 boolean isUnresolved()
          アドレスが解決されたかどうかを調べます。
 String toString()
          この InetSocketAddress の文字列表現を構築します。
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

InetSocketAddress

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

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

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

InetSocketAddress

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

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

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

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

InetSocketAddress

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

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

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

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

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

createUnresolved

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

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

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

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

getPort

public final int getPort()
ポート番号を取得します。

戻り値:
ポート番号

getAddress

public final InetAddress getAddress()
InetAddress を取得します。

戻り値:
InetAdress。未解決の場合は null

getHostName

public final String getHostName()
hostname を取得します。

戻り値:
アドレスのホスト名部分

isUnresolved

public final boolean isUnresolved()
アドレスが解決されたかどうかを調べます。

戻り値:
ホスト名から InetAddress への解決ができなかった場合は true

toString

public String toString()
この InetSocketAddress の文字列表現を構築します。この String は、InetAddress で toString() を呼び出し、ポート番号をコロンで連結して構築します。アドレスが未解決の場合、コロンの前の部分にはホスト名だけが含まれます。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

equals

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

InetAddresses (未解決の場合はホスト名) とポート番号の両方が等しい場合、InetSocketAddress の 2 つのインスタンスは同じアドレスを表します。両方のアドレスが未解決の場合は、ホスト名とポート番号が比較されます。

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

hashCode

public final int hashCode()
このソケットアドレスのハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このソケットアドレスのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。