| 套件 | 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 | 事件 |
事件物件類型:
屬性 ErrorEvent.type =
flash.events.ErrorEvent屬性 ErrorEvent.type =
flash.events.ErrorEvent.ERROR| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | AIR 2 |
當 DNS 查閱期間發生錯誤時傳送。
定義error 事件物件的 type 屬性值。
這個事件具有下列屬性:
| 屬性 | 值 |
|---|---|
bubbles | false |
cancelable | false;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 遇到網路作業失敗的物件。 |
text | 要顯示為錯誤訊息的文字。 |
lookup | 事件 |
事件物件類型:
屬性 DNSResolverEvent.type =
flash.events.DNSResolverEvent屬性 DNSResolverEvent.type =
flash.events.DNSResolverEvent.LOOKUP| 語言版本: | ActionScript 3.0 |
| 執行階段版本: | AIR 2 |
當 DNS 查閱完成時傳送。
定義lookup 事件物件的 type 屬性值。
範例 如何使用本範例
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 );
}
}
}
Tue Jun 12 2018, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性