SocketInetAddress (クラス)
public final SocketInetAddress {inherits SocketAddress, Serializable}
パッケージ: CURL.IO.SOCKET

インターネット アドレス (IP アドレス) とそれに関連付けられている名前を保持するクラス。名前からアドレスまたはその逆の検索を実行する簡単な方法を提供します。

プログラミング注意事項

これを作成して、名前またはアドレスからインターネット アドレスを保持して、他の情報のクエリーに使用したり、TCPSocket または UDPSocket に渡すことができます。暗黙的に SocketInetAddress を作成することもできます。

注意事項

一部の呼び出しでは、停止して DNS/NIS/WINS などを待機できます。ホスト名またはアドレスの検索で失敗すると、HostNotFoundSocketException および HostNotFoundTemporarySocketException をスローします。これは、新しい SocketInetAddress の作成を除くほとんどの呼び出しで発生します。SocketInetAddress.has-addresses? および SocketInetAddress.has-name? ゲッターは、それが検索を行うかどうかを調べるために使用できます。

コンストラクタ
default:文字列形式のホスト名または IP アドレス、SocketIPv4AddressSocketIPv4Address の配列、FastArray-of IPAddress、または IPv6Address を含む String から SocketInetAddress を構築します。
ファクトリ public {SocketInetAddress.default name-address:any}:SocketInetAddress

プロパティ
address:この SocketInetAddress の IPv4 アドレス。
アクセサ public SocketInetAddress.address:SocketIPv4Address
address-as-String:この SocketInetAddress の IPv4 アドレスを文字列形式 ("128.2.10.101" など) で示します。
アクセサ public SocketInetAddress.address-as-String:String
addresses:この SocketInetAddress の IPv4 アドレス。
アクセサ public SocketInetAddress.addresses:{FastArray-of SocketIPv4Address}
addresses-as-Strings:この SocketInetAddress の IPv4 アドレスを文字列形式 ("128.2.10.101" など) で示します。
アクセサ public SocketInetAddress.addresses-as-Strings:#{FastArray-of String}
aliases:このホストの代替ホスト名。
アクセサ deprecated public SocketInetAddress.aliases:#{FastArray-of String}
all-addresses:この SocketInetAddress の全てのIPv4 または IPv6 アドレス。
アクセサ public SocketInetAddress.all-addresses:{FastArray-of IPAddress}
first-address:この SocketInetAddress の最初の IPv4 または IPv6 アドレス。
アクセサ public SocketInetAddress.first-address:IPAddress
has-addresses?:この SocketInetAddress の IPv4 または IPv6 アドレスが有効かどうかを示します。true の場合、アドレスの検索は必要ありません。
アクセサ public inline SocketInetAddress.has-addresses?:bool
has-name?:この SocketInetAddress の名前が有効かどうかを示します。true の場合、名前の検索は必要ありません (ただし別名の検索は必要です)。
アクセサ public inline SocketInetAddress.has-name?:bool
name:この SocketInetAddress のホスト名。
アクセサ public SocketInetAddress.name:#String

クラス変数と定数
broadcast:宛名のないローカル ブロードキャスト アドレスを表す SocketInetAddress を作成するために、コンストラクタに渡すことができます。
public constant SocketInetAddress.broadcast:SocketIPv4Address =0xffffffff
local-host:ローカル マシンを示す SocketInetAddress を作成するため、またはどの SocketInetAddress.name がローカル マシン名かを示すために、コンストラクタに渡すことができます。
public constant SocketInetAddress.local-host:String =""
loopback:IP アドレス 127.0.0.1 と同等、および一般に "localhost" という名前と同等のループバック アドレスを示す SocketInetAddress を作成するためにコンストラクタに渡すことができます。
public constant SocketInetAddress.loopback:SocketIPv4Address =0x7f000001

クラス プロシージャ
make-SocketInetAddress-from-address:SocketIPv4Address に基づいて SocketInetAddress を作成します。
public {SocketInetAddress.make-SocketInetAddress-from-address}:SocketInetAddress

メソッド
clear-addresses:この SocketInetAddress に保存されているアドレスをクリアします。
public {SocketInetAddress.clear-addresses}:void
clear-name:この SocketInetAddress に保存されている名前をクリアします。
public {SocketInetAddress.clear-name}:void
clone:この SocketInetAddress のコピーを作成します。
public {SocketInetAddress.clone}:SocketInetAddress
double-lookup:アドレスから名前のマッピングをダブルチェックして、IPv4 アドレスのリバース ルックアップでは存在しない誰かになりすまそうとする不正行為を行っている者がいないかどうかを確認します。
public {SocketInetAddress.double-lookup}:bool
enumerate-SocketInetAddresses:マルチインターフェイスのホストまたは複数のアドレスを持つ名前のアドレスごとに 1 つずつの SocketInetAddress の配列を作成します。
public {SocketInetAddress.enumerate-SocketInetAddresses
}:#{FastArray-of SocketInetAddress}
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (ファクトリ)
public {SocketInetAddress.default name-address:any}:SocketInetAddress

文字列形式のホスト名または IP アドレス、SocketIPv4AddressSocketIPv4Address の配列、FastArray-of IPAddress、または IPv6Address を含む String から SocketInetAddress を構築します。




プロパティ詳細
address (アクセサ)
アクセサ public SocketInetAddress.address:SocketIPv4Address

この SocketInetAddress の IPv4 アドレス。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。実際に複数のマシンをポイントするマルチインターフェイスのホストまたは名前には複数のアドレスがあります。この呼び出しではこれらの 1 つのアドレスしか返さないので、注意して使用してください。ほとんどの場合は、SocketInetAddress.addresses を代わりに使用してください。

説明

これは IPv4 アドレスのみを返します。代わりに SocketInetAddress.first-address を使用してください。


address-as-String (アクセサ)
アクセサ public SocketInetAddress.address-as-String:String

この SocketInetAddress の IPv4 アドレスを文字列形式 ("128.2.10.101" など) で示します。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。実際に複数のマシンを特定するマルチインターフェイスのホストまたは名前には複数のアドレスがあります。この呼び出しではこれらの 1 つのアドレスしか返さないので、注意して使用してください。

説明

これは IPv4 アドレスの String のみを返します。代わりに SocketInetAddress.first-address に対して IPAddress.to-String を使用してください。


addresses (アクセサ)
アクセサ public SocketInetAddress.addresses:{FastArray-of SocketIPv4Address}

この SocketInetAddress の IPv4 アドレス。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。

説明

これは IPv4 アドレスのみを返します。代わりに SocketInetAddress.all-addresses を使用してください。


addresses-as-Strings (アクセサ)
アクセサ public SocketInetAddress.addresses-as-Strings:#{FastArray-of String}

この SocketInetAddress の IPv4 アドレスを文字列形式 ("128.2.10.101" など) で示します。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。

説明

これは IPv4 アドレスの String のみを返します。代わりに SocketInetAddress.all-addresses の各要素に対して IPAddress.to-String を使用してください。


aliases (アクセサ)
アクセサ deprecated public SocketInetAddress.aliases:#{FastArray-of String}

このホストの代替ホスト名。

注意事項

これは常に null を返します。


all-addresses (アクセサ)
アクセサ public SocketInetAddress.all-addresses:{FastArray-of IPAddress}

この SocketInetAddress の全てのIPv4 または IPv6 アドレス。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。
導入: バージョン 8.0


first-address (アクセサ)
アクセサ public SocketInetAddress.first-address:IPAddress

この SocketInetAddress の最初の IPv4 または IPv6 アドレス。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。実際に複数のマシンをポイントするマルチインターフェイスのホストまたは名前には複数のアドレスがあります。この呼び出しではこれらの 1 つのアドレスしか返さないので、注意して使用してください。ほとんどの場合は、SocketInetAddress.addresses を代わりに使用してください。
導入: バージョン 8.0


has-addresses? (アクセサ)
アクセサ public inline SocketInetAddress.has-addresses?:bool

この SocketInetAddress の IPv4 または IPv6 アドレスが有効かどうかを示します。true の場合、アドレスの検索は必要ありません。



has-name? (アクセサ)
アクセサ public inline SocketInetAddress.has-name?:bool

この SocketInetAddress の名前が有効かどうかを示します。true の場合、名前の検索は必要ありません (ただし別名の検索は必要です)。



name (アクセサ)
アクセサ public SocketInetAddress.name:#String

この SocketInetAddress のホスト名。

注意事項

この SocketInetAddress がまだ名前のセットを持っていない場合は、名前の試行と検索のためにブロッキング検索が行われる可能性があります。



クラス変数と定数の詳細
broadcast (クラス定数)
public constant SocketInetAddress.broadcast:SocketIPv4Address =0xffffffff

宛名のないローカル ブロードキャスト アドレスを表す SocketInetAddress を作成するために、コンストラクタに渡すことができます。

説明

これは IPv4 ブロードキャスト アドレスです。


local-host (クラス定数)
public constant SocketInetAddress.local-host:String =""

ローカル マシンを示す SocketInetAddress を作成するため、またはどの SocketInetAddress.name がローカル マシン名かを示すために、コンストラクタに渡すことができます。



loopback (クラス定数)
public constant SocketInetAddress.loopback:SocketIPv4Address =0x7f000001

IP アドレス 127.0.0.1 と同等、および一般に "localhost" という名前と同等のループバック アドレスを示す SocketInetAddress を作成するためにコンストラクタに渡すことができます。

説明

これは IPv4 ループバック アドレスです。代わりに IPv4Address.loopback または IPv6Address.loopback を使用してください。



クラス プロシージャ詳細
make-SocketInetAddress-from-address (クラスプロシージャ)
public {SocketInetAddress.make-SocketInetAddress-from-address}:SocketInetAddress

SocketIPv4Address に基づいて SocketInetAddress を作成します。




メソッド詳細
clear-addresses (メソッド)
public {SocketInetAddress.clear-addresses}:void

この SocketInetAddress に保存されているアドレスをクリアします。

プログラミング注意事項

名前がない場合 (つまり SocketInetAddress.has-name?true の場合)、エラーがスローされます。


clear-name (メソッド)
public {SocketInetAddress.clear-name}:void

この SocketInetAddress に保存されている名前をクリアします。

プログラミング注意事項

アドレスがある (つまり SocketInetAddress.has-addresses?true) 場合以外はこれを呼び出さないでください。呼び出した場合はエラーまたは例外が発生します。


clone (メソッド)
public {SocketInetAddress.clone}:SocketInetAddress

この SocketInetAddress のコピーを作成します。



double-lookup (メソッド)
public {SocketInetAddress.double-lookup}:bool

アドレスから名前のマッピングをダブルチェックして、IPv4 アドレスのリバース ルックアップでは存在しない誰かになりすまそうとする不正行為を行っている者がいないかどうかを確認します。

プログラミング注意事項

通常は、(たとえば接続を受信し、接続からリモート アドレスを取得することから) IPv4 アドレスだけを含む SocketInetAddress を作成またはクローン化するために使用します。次にこのメソッドを呼び出して、結果を確認し、true の場合は、SocketInetAddress に格納されたばかりの名前をある程度信頼して使用します。

説明

アドレスがない場合は、必要なことを実際は実行しませんが、アドレスの検索と試行は行います。アドレスを使い、リバース ルックアップを行って名前を取得し、新しく取得した名前でフォワード ルックアップを行います。次に、元のアドレスが最後のフォワード ルックアップで得られたアドレスに含まれていることを確認します。したがって、サイトは、制御する DNS サーバーにないリバース ルックアップ名を要求することはできません。ただし、関連する DNS サーバーでネットワークが完全に破壊されている場合、ほかの DNS サーバーに分割されている場合、または不正な DNS データが DNS キャッシュに送られた場合は除きます。このすべては、rlogind/rcmd サーバーが実行するセキュリティ チェックの一部に似ています。また、ホスト名ベースのセキュリティを実行するサーバーでは有用かもしれません。だたし、ホスト名ベースのセキュリティは、実際のセキュリティに代わるものではありません。

注意事項

これは検索を 2、3 回実行しますが、すべてをブロックするので負担が増加します。SocketInetAddress 内の他のルーチンでは見つかった名前を消去しませんが、これは消去します (また、アドレスを再フェッチします)。ルックアップの一部が失敗した場合、構造の一部または全部がクリアされる可能性があります。


enumerate-SocketInetAddresses (メソッド)
public {SocketInetAddress.enumerate-SocketInetAddresses
}:#{FastArray-of SocketInetAddress}

マルチインターフェイスのホストまたは複数のアドレスを持つ名前のアドレスごとに 1 つずつの SocketInetAddress の配列を作成します。

注意事項

この SocketInetAddress がまだアドレス セットを持っていない場合は、アドレスの検索がブロックされる可能性があります。作成される SocketInetAddress には名前セットがありません。