패키지 | 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 조회 중에 오류가 발생하면 전달됩니다.
error
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 네트워크 작업에 실패한 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
lookup | 이벤트 |
flash.events.DNSResolverEvent
속성 DNSResolverEvent.type =
flash.events.DNSResolverEvent.LOOKUP
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
DNS 조회가 완료되면 전달됩니다.
lookup
이벤트 객체의 type
속성 값을 정의합니다.
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:17 PM Z