Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
flash.net.dns 

DNSResolver  - AS3

パッケージflash.net.dns
クラスpublic class DNSResolver
継承DNSResolver Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 2

DNSResolver クラスを使用すると、Domain Name System(DNS)リソースレコードをルックアップできます。

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サポートされません
PTRRecordIPv4 アドレスのみサポート。IPv6 アドレスについてはサポートされません
SRVRecordサポートされません

例を表示

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
      isSupported : Boolean
[静的] [読み取り専用] クライアントシステムで DNS ルックアップがサポートされているかどうかを示します。
DNSResolver
パブリックメソッド
 メソッド定義元
  
    DNSResolver()
DNSResolver オブジェクトを作成します。
DNSResolver
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
    lookup(host:String, recordType:Class):void
クエリ文字列に基づいて DNS リソースレコードをルックアップします。
DNSResolver
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  
    error
DNS ルックアップ中にエラーが発生すると送出されます。DNSResolver
  
    lookup
DNS ルックアップが完了すると送出されます。DNSResolver
プロパティの詳細
    

isSupported

プロパティ
isSupported:Boolean  [読み取り専用]

ランタイムバージョン: AIR 2

クライアントシステムで DNS ルックアップがサポートされているかどうかを示します。



実装
    public static function get isSupported():Boolean
コンストラクターの詳細
    

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"
PTRRecordIP アドレス"208.77.188.166"
SRVRecord_service._protocol.host."_sip._tcp.example.com."

パラメーター

host:String — ホスト名、IP アドレス、サービスロケーターなどのクエリ文字列です。
 
recordType:Class — ルックアップする DNS リソースのタイプを表すクラスです。


イベント
lookup:DNSResolverEvent — ルックアップが正しく完了すると送出されます。
 
error:ErrorEvent — ルックアップに失敗すると送出されます(レコードが存在しない場合など)。

例外
ArgumentError host パラメーター値が適切なクエリ文字列でないか、recordType クラスが認識されません。

関連する API エレメント

イベントの詳細
    

error

イベント
イベントオブジェクトの型: flash.events.ErrorEvent
プロパティ ErrorEvent.type = flash.events.ErrorEvent.ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 2

DNS ルックアップ中にエラーが発生すると送出されます。

type プロパティ(error イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetネットワーク操作エラーが発生したオブジェクトです。
textエラーメッセージとして表示されるテキストです。
    

lookup

イベント  
イベントオブジェクトの型: flash.events.DNSResolverEvent
プロパティ DNSResolverEvent.type = flash.events.DNSResolverEvent.LOOKUP

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 2

DNS ルックアップが完了すると送出されます。

type プロパティ(lookup イベントオブジェクト)の値を定義します。
DNSResolverExample.as

次の例では、サポートされている DNS レコードのタイプをルックアップする方法を示します。
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 );
        }
    }
}




[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。