パッケージ | flash.net.dns |
クラス | public class DNSResolver |
継承 | DNSResolver EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスではサポートされません。AIR for TV デバイスでは部分的にサポートされます。DNSResolver.isSupported
プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。
次のタイプのリソースレコードをルックアップできます。
- ARecord:ホストの IPv4 アドレス。
- AAAARecord:ホストの IPv6 アドレス。
- MXRecord:ホストのメール交換レコード。
- PTRRecord:IP アドレスのホスト名。
- SRVRecord:サービスのサービスレコード
AIR for TV デバイスの DNS 検索サポート状況を次の表に示します。サポートされていない要求を実行すると、DNSResolver オブジェクトから flash.events.ErrorEvent オブジェクトが送出されます。
DNSResolver.lookup() で指定するレコードタイプ | サポート |
---|---|
ARecord | フルサポート |
AAAARecord | フルサポート |
MXRecord | サポートされません |
PTRRecord | IPv4 アドレスのみサポート。IPv6 アドレスについてはサポートされません |
SRVRecord | サポートされません |
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
isSupported : Boolean [静的] [読み取り専用]
クライアントシステムで DNS ルックアップがサポートされているかどうかを示します。 | DNSResolver |
メソッド | 定義元 | ||
---|---|---|---|
DNSResolver オブジェクトを作成します。 | DNSResolver | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
クエリ文字列に基づいて DNS リソースレコードをルックアップします。 | DNSResolver | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | |||
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | |||
DNS ルックアップ中にエラーが発生すると送出されます。 | DNSResolver | |||
DNS ルックアップが完了すると送出されます。 | DNSResolver |
isSupported | プロパティ |
DNSResolver | () | コンストラクター |
public function DNSResolver()
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
DNSResolver オブジェクトを作成します。
lookup | () | メソッド |
public function lookup(host:String, recordType:Class):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
クエリ文字列に基づいて DNS リソースレコードをルックアップします。
lookup()
メソッドは、DNS ルックアップを非同期で実行します。ルックアップイベントをリッスンし、ルックアップの結果を取得します。エラーを受け取るエラーイベントをリッスンします。結果を DNSResolverEvent オブジェクトに送出します。
ルックアップするリソースレコードのタイプを指定するには、対応するクラスを recordType
パラメーターに渡します(クラス名を含む文字列ではなく、クラス名自体を渡します)。
メソッドに渡すクエリ文字列の内容は、ルックアップの対象となるリソースレコードのタイプによって異なります。以下に、それぞれのレコードタイプで使用するクエリ文字列を示します。
レコードタイプ | クエリ文字列 | 例 |
---|---|---|
ARecord | ホスト名 | "example.com" |
AAAARecord | ホスト名 | "example.com" |
MXRecord | ホスト名 | "example.com" |
PTRRecord | IP アドレス | "208.77.188.166" |
SRVRecord | _service._protocol.host. | "_sip._tcp.example.com." |
パラメーター
host:String — ホスト名、IP アドレス、サービスロケーターなどのクエリ文字列です。
| |
recordType:Class — ルックアップする DNS リソースのタイプを表すクラスです。
|
イベント
lookup: — ルックアップが正しく完了すると送出されます。
| |
error: — ルックアップに失敗すると送出されます(レコードが存在しない場合など)。
|
例外
ArgumentError — host パラメーター値が適切なクエリ文字列でないか、recordType クラスが認識されません。
|
関連する API エレメント
error | イベント |
flash.events.ErrorEvent
プロパティ ErrorEvent.type =
flash.events.ErrorEvent.ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
DNS ルックアップ中にエラーが発生すると送出されます。
type
プロパティ(error
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク操作エラーが発生したオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
lookup | イベント |
flash.events.DNSResolverEvent
プロパティ DNSResolverEvent.type =
flash.events.DNSResolverEvent.LOOKUP
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
DNS ルックアップが完了すると送出されます。
type
プロパティ(lookup
イベントオブジェクト)の値を定義します。
package { import flash.desktop.NativeApplication; import flash.display.Sprite; import flash.events.DNSResolverEvent; import flash.events.ErrorEvent; import flash.events.Event; import flash.events.MouseEvent; import flash.net.dns.AAAARecord; import flash.net.dns.ARecord; import flash.net.dns.DNSResolver; import flash.net.dns.MXRecord; import flash.net.dns.PTRRecord; import flash.net.dns.SRVRecord; import flash.utils.getQualifiedClassName; public class DNSResolverExample extends Sprite { private var resolver:DNSResolver = new DNSResolver(); public function DNSResolverExample() { resolver.addEventListener( DNSResolverEvent.LOOKUP, lookupComplete ); resolver.addEventListener( ErrorEvent.ERROR, lookupError ); //Look up records resolver.lookup( "www.example.com", ARecord ); resolver.lookup( "example.com", AAAARecord ); resolver.lookup( "example.com", MXRecord ); resolver.lookup( "208.77.188.166", PTRRecord ); resolver.lookup( "127.0.0.1", PTRRecord ); resolver.lookup( "2001:1890:110b:1e19:f06b:72db:7026:3d7a", PTRRecord ); resolver.lookup( "_sip._tcp.example.com.", SRVRecord ); resolver.lookup( "www.example.com", ARecord ); this.stage.nativeWindow.activate(); } private function lookupComplete( event:DNSResolverEvent ):void { trace( "Query string: " + event.host ); trace( "Record type: " + flash.utils.getQualifiedClassName( event.resourceRecords[0] ) + ", count: " + event.resourceRecords.length ); for each( var record in event.resourceRecords ) { if( record is ARecord ) trace( record.name + " : " + record.address ); if( record is AAAARecord ) trace( record.name + " : " + record.address ); if( record is MXRecord ) trace( record.name + " : " + record.exchange + ", " + record.preference ); if( record is PTRRecord ) trace( record.name + " : " + record.ptrdName ); if( record is SRVRecord ) trace( record.name + " : " + record.target + ", " + record.port + ", " + record.priority + ", " + record.weight ); } } private function lookupError( error:ErrorEvent ):void { trace("Error: " + error.text ); } } }
Tue Jun 12 2018, 10:34 AM Z