Пакет | flash.net.dns |
Класс | public class DNSResolver |
Наследование | DNSResolver EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах, но не поддерживается на мобильных устройствах. Частично поддерживается в среде AIR для телевизионных устройств. Используйте свойство DNSResolver.isSupported
, чтобы проверить наличие поддержки в среде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».
Можно выполнять поиск следующих записей ресурсов:
- ARecord: IPv4-адрес для хоста
- AAAARecord: IPv6-адрес для хоста
- MXRecord: запись почтового обменника для хоста
- PTRRecord: имя хоста для IP-адреса
- SRVRecord: запись обслуживания для службы
В следующей таблице показана поддержка поиска DNS в среде AIR для телевизионных устройств. Неподдерживаемые запросы приводят к отправке объекта flash.events.ErrorEvent объектом DNSResolver.
Тип записи, указанный в 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, 11:34 AM Z