|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.net.InetAddress
IP (Internet Protocol) アドレスを表すクラスです。
IP アドレスは、IP で使用される 32 ビットまたは 128 ビットの符号なしの数字で、UDP や TCP などのプロトコルが構築される下位レベルのプロトコルです。IP アドレスのアーキテクチャは、「RFC 790: Assigned Numbers」、「RFC 1918: Address Allocation for Private Internets」、「RFC 2365: Administratively Scoped IP Multicast」、および「RFC 2373: IP Version 6 Addressing Architecture」に定義されています。InetAddress のインスタンスは、IP アドレスと、おそらくはそれに対応するホスト名で構成されます (ホスト名を使用して構築されたか、ホスト名の逆解決をすでに実行したかどうかによって異なる)。
ユニキャスト 単一インタフェースの識別子。ユニキャストアドレスに送信されたパケットは、そのアドレスで識別されるインタフェースに配信されます。 未指定のアドレス - 任意ローカルアドレスまたはワイルドカードアドレスとも呼ばれます。このアドレスはどのノードにも割り当ててはなりません。これはアドレスがないことを示します。このアドレスを使った例としてバインドの対象があります。これにより、サーバホストに複数のインタフェースがある場合に、サーバは任意のインタフェースでクライアント接続を受け入れることができます。
「未指定」のアドレスは、IP パケットの転送先アドレスとして使用してはなりません。
「ループバック」アドレス -- ループバックインタフェースに割り当てられるアドレスです。この IP アドレスに送信されたものはすべてループし、ローカルホストで IP 入力になります。このアドレスはよくクライアントのテストに使用されます。
マルチキャスト 一連のインタフェース (通常は別のノードに属す) の識別子。マルチキャストアドレスに送信されたパケットは、そのアドレスで識別されるすべてのインタフェースに配信されます。
「リンクローカル」アドレスは、自動アドレス構成、隣接アドレスの発見などを目的として、あるいはルータが存在しない場合に、単一リンクのアドレス指定に使うために設計されています。
「サイトローカル」アドレスは、グローバル接頭辞を必要としないサイト内のアドレス指定に使うために設計されています。
「グローバル」アドレスは、インターネット全体で一意です。
IPv4 のアドレス形式については、「Inet4Address」を参照してください。IPv6 のアドレス形式については、「Inet6Address」を参照してください。
「逆名前解決」では、任意の IP アドレスについて、その IP アドレスに関連するホスト名が返されます。
InetAddress クラスは、ホスト名からその IP アドレスへの解決、およびその逆の解決のメソッドを提供します。
デフォルトでは、キャッシュのエントリを削除する安全な時期を決定する一般的な規則がないため、成功したホスト名解決の結果は永遠にキャッシュされます。不成功のホスト名解決の結果は、パフォーマンスの向上のために短時間 (10 秒) だけキャッシュされます。
DNS の不正アクセスによる攻撃が不可能と判定できる特定の環境では、Java セキュリティプロパティをポジティブキャッシュの別の有効期間 (TTL) 値に設定することができます。同様に、システム管理者は必要に応じて別のネガティブキャシュ TTL 値を設定することができます。
2 つの Java セキュリティプロパティにより、ポジティブおよびネガティブのホスト名解決のキャッシュに使用する TTL 値を制御します。
- networkaddress.cache.ttl (デフォルト: -1)
- ネームサービスで成功したネーム参照のキャッシュポリシーを示します。成功した参照をキャッシュする秒数を示す整数値を指定します。
値 -1 は、「永遠にキャッシュ」を示します。
- networkaddress.cache.negative.ttl (デフォルト: 10)
- ネームサービスで成功しなかったネーム参照のキャッシュポリシーを示します。成功しなかった参照をキャッシュする秒数を示す整数値を指定します。
値 0 は「キャッシュしない」を、値 -1 は「永遠にキャッシュ」を示します。
getByAddress(byte[])
,
getByAddress(java.lang.String, byte[])
,
getAllByName(java.lang.String)
,
getByName(java.lang.String)
,
getLocalHost()
,
直列化された形式メソッドの概要 | |
boolean |
equals(Object obj)
このオブジェクトと指定されたオブジェクトとを比較します。 |
byte[] |
getAddress()
この InetAddress オブジェクトの IP アドレスをそのまま返します。 |
static InetAddress[] |
getAllByName(String host)
ホスト名を指定すると、システムに設定されているネームサービスに基づいてその IP アドレスの配列を返します。 |
static InetAddress |
getByAddress(byte[] addr)
そのままの IP アドレスを持つ InetAddress オブジェクトを返します。 |
static InetAddress |
getByAddress(String host,
byte[] addr)
指定されたホスト名および IP アドレスに基づいて InetAddress を作成します。 |
static InetAddress |
getByName(String host)
指定されたホスト名を持つホストの IP アドレスを取得します。 |
String |
getCanonicalHostName()
この IP アドレスの完全指定のドメイン名を取得します。 |
String |
getHostAddress()
テキスト表現の IP アドレス文字列を返します。 |
String |
getHostName()
この IP アドレスに対応するホスト名を取得します。 |
static InetAddress |
getLocalHost()
ローカルホストを返します。 |
int |
hashCode()
この IP アドレスのハッシュコードを返します。 |
boolean |
isAnyLocalAddress()
InetAddress がワイルドカードアドレスかどうかを調べるユーティリティルーチンです。 |
boolean |
isLinkLocalAddress()
InetAddress がリンクローカルアドレスかどうかを調べるユーティリティルーチンです。 |
boolean |
isLoopbackAddress()
InetAddress がループバックアドレスかどうかを調べるユーティリティルーチンです。 |
boolean |
isMCGlobal()
マルチキャストアドレスにグローバルスコープがあるかどうかを調べるユーティリティルーチンです |
boolean |
isMCLinkLocal()
マルチキャストアドレスにリンクスコープがあるかどうかを調べるユーティリティルーチンです |
boolean |
isMCNodeLocal()
マルチキャストアドレスにノードスコープがあるかどうかを調べるユーティリティルーチンです |
boolean |
isMCOrgLocal()
マルチキャストアドレスに組織スコープがあるかどうかを調べるユーティリティルーチンです |
boolean |
isMCSiteLocal()
マルチキャストアドレスにサイトスコープがあるかどうかを調べるユーティリティルーチンです |
boolean |
isMulticastAddress()
InetAddress が IP マルチキャストアドレスかどうかを調べるユーティリティルーチンです。 |
boolean |
isSiteLocalAddress()
InetAddress がサイトローカルアドレスかどうかを調べるユーティリティルーチンです。 |
String |
toString()
この IP アドレスを String に変換します。 |
クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
メソッドの詳細 |
public boolean isMulticastAddress()
boolean
public boolean isAnyLocalAddress()
boolean
public boolean isLoopbackAddress()
boolean
。ループバックアドレスでない場合は falsepublic boolean isLinkLocalAddress()
boolean
。アドレスがリンクローカルユニキャストアドレスでない場合は falsepublic boolean isSiteLocalAddress()
boolean
。アドレスがサイトローカルユニキャストアドレスでない場合は falsepublic boolean isMCGlobal()
boolean
。アドレスがグローバルスコープでない場合、あるいはマルチキャストアドレスでない場合は falsepublic boolean isMCNodeLocal()
boolean
。アドレスがノードローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は falsepublic boolean isMCLinkLocal()
boolean
。アドレスがリンクローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は falsepublic boolean isMCSiteLocal()
boolean
。アドレスがサイトローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は falsepublic boolean isMCOrgLocal()
boolean
。アドレスが組織ローカルスコープでない場合、あるいはマルチキャストアドレスでない場合は falsepublic String getHostName()
この InetAddress がホスト名を使用して作成された場合は、このホスト名が保存されて返されます。そうでない場合は、逆ネーム参照が実行されて、システムに設定されたネーム参照サービスに基づいて結果が返されます。ネームサービスの参照が必要な場合は、getCanonicalHostName
を呼び出します。
セキュリティマネージャが存在する場合、まずセキュリティマネージャの checkConnect
メソッドが、引数としてホスト名および -1
を指定して呼び出され、この操作が許可されているかどうかを確認します。操作が許可されていない場合は、IP アドレスのテキスト表現を返します。
getCanonicalHostName()
,
SecurityManager.checkConnect(java.lang.String, int)
public String getCanonicalHostName()
セキュリティマネージャが存在する場合、このメソッドはまずセキュリティマネージャの checkConnect
メソッドを引数としてホスト名と -1
を指定して呼び出して、呼び出し側のコードがこの IP アドレスのホスト名を認識する、つまりホストに接続することが許可されているかどうかを確認します。操作が許可されていない場合は、IP アドレスのテキスト表現を返します。
SecurityManager.checkConnect(java.lang.String, int)
public byte[] getAddress()
InetAddress
オブジェクトの IP アドレスをそのまま返します。結果は、ネットワークバイト順序に従って返されます。アドレスの最上位バイトが getAddress()[0]
になります。
public String getHostAddress()
public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
null
ではなく、このオブジェクトと同じ IP アドレスを表すオブジェクトの場合にだけ、結果が true
になります。
getAddress
によって返されるバイト配列の長さが同じであり、バイト配列の各要素が同じである場合、2 つの InetAddress
のインスタンスは同じ IP アドレスを表しています。
Object
内の equals
obj
- 比較対象のオブジェクト
true
、そうでない場合は false
getAddress()
public String toString()
String
に変換します。返される文字列の形式は、ホスト名 / リテラル IP アドレスです。ホスト名が解決されない場合、逆ネームサービス参照は実行されません。ホスト名の部分は空の文字列で表されます。
Object
内の toString
public static InetAddress getByAddress(String host, byte[] addr) throws UnknownHostException
ホスト名は、「java.sun.com
」などのマシン名か、またはその IP アドレスのテキスト表現です。
リテラル IPv6 アドレスで指定される host
については、RFC 2732 で定義されている形式か、RFC 2373 で定義されているリテラル IPv6 アドレス形式が可能です。
addr に IPv4 アドレスを指定すると、Inet4Address のインスタンスが返されます。そうでない場合は、Inet6Address のインスタンスが返されます。
IPv4 アドレスのバイト配列は 4 バイト長、IPv6 のバイト配列は 16 バイト長でなければなりません。
host
- 指定されたホストaddr
- ネットワークバイト順序の IP アドレス
UnknownHostException
- IP アドレスの長さが不正の場合public static InetAddress getByName(String host) throws UnknownHostException
ホスト名は「java.sun.com
」のようなマシン名か、IP アドレスのテキスト表現です。リテラル IP アドレスが指定された場合、アドレス形式の有効性だけをチェックします。
リテラル IPv6 アドレスで指定される host
については、RFC 2732 で定義されている形式か、RFC 2373 で定義されているリテラル IPv6 アドレス形式が可能です。
host
- 指定するホスト、またはローカルホストの場合は null
UnknownHostException
- host
引数に指定されたホストの IP アドレスが見つからない場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect メソッドがこの操作を許可しない場合public static InetAddress[] getAllByName(String host) throws UnknownHostException
ホスト名は「java.sun.com
」のようなマシン名か、IP アドレスのテキスト表現です。リテラル IP アドレスが指定された場合、アドレス形式の有効性だけをチェックします。
リテラル IPv6 アドレスで指定される host
については、RFC 2732 で定義されている形式か、RFC 2373 で定義されているリテラル IPv6 アドレス形式が可能です。
セキュリティマネージャが存在する場合、host
が null ではなく、host.length()
の値がゼロではないときは、セキュリティマネージャの checkConnect
メソッドが、引数としてホスト名と -1
を指定して呼び出され、この操作が許可されていることを確認します。
host
- ホスト名
UnknownHostException
- host
引数に指定されたホストの IP アドレスが見つからない場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合SecurityManager.checkConnect(java.lang.String, int)
public static InetAddress getByAddress(byte[] addr) throws UnknownHostException
InetAddress
オブジェクトを返します。引数はネットワークバイト順序で、アドレスの最上位バイトが getAddress()[0]
になります。
このメソッドはブロックしません。つまり、逆ネームサービス参照は実行されません。
IPv4 アドレスのバイト配列は 4 バイト長、IPv6 のバイト配列は 16 バイト長でなければなりません。
addr
- ネットワークバイト順序の IP アドレス
UnknownHostException
- IP アドレスの長さが不正の場合public static InetAddress getLocalHost() throws UnknownHostException
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
メソッドが、引数としてローカルホスト名および -1
を指定して呼び出され、この操作が許可されているかどうかを確認します。操作が許可されていない場合は、参照アドレスを表す InetAddress が返されます。
UnknownHostException
- host
引数に指定されたホストの IP アドレスが見つからない場合SecurityManager.checkConnect(java.lang.String, int)
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.