套件 | 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