Adobe
Products
Creative Suite
Photoshop Family
Acrobat Family
Flash Platform
Digital Marketing Suite
Digital Publishing Suite
More products
Solutions
Digital marketing solutions
Digital media solutions
Education
Financial services
Government
Web Experience Management
More solutions
Learning Help Downloads Company
Store
Adobe Store for home and home office
Education Store for students, educators, and staff
Business Store for small and medium businesses
Other ways to buy
Search
 
Info Sign in
Welcome,
My cart
My orders My Adobe
My Adobe
My orders
My information
My preferences
Sign out
Why sign in? Sign in to manage your account and access trial downloads, product extensions, community areas, and more.
Adobe
Products Sections   Search  
Solutions Company
Help Learning
Sign in Welcome, My orders My Adobe
Qty:
Purchase requires verification of academic eligibility
Subtotal
Review and Checkout
Adobe Developer Connection / Adobe AIR Developer Center /

Resolving DNS records in Adobe AIR 2

by William Liang

William Liang

Modified

8 February 2010

Page tools

Share on Facebook
Share on Twitter
Share on LinkedIn
Bookmark
Print
ActionScript Adobe AIR Flex networking

Requirements

Prerequisite knowledge

This article is intended for developers who are comfortable with ActionScript and who have a basic understanding of networking and DNS.

User level

All

Required products

  • Adobe AIR

Among the new networking features introduced in Adobe AIR 2 is the Domain Name System (DNS) resolver. DNS is a naming system in which network resources such as domains, servers, services, and so on are mapped to information such as IP addresses. The new DNS resolver enables DNS resolution within an AIR application and helps to facilitate networking related operations, including the establishment of network connections.

DNS resolver use cases

To end users, DNS resolution is generally a transparent feature of a network-enabled application. Web browsers, email clients, and other similar applications are just a few examples of applications that rely on DNS.

For example, when a user types the name of a web site in a browser, they are actually typing a Uniform Resource Locator (URL) containing a domain name. The browser contains a DNS resolver feature that allows it to perform a DNS lookup on the domain name. The result of the lookup is an IP address that the browser uses to request and load the content from the website.

In AIR 2, you can now incorporate DNS resolution within your application. Using the new DNSResolver class, you can build familiar applications such as web browsers and email clients, or you can build applications with more sophisticated features such as IP telephony or peer-to-peer file sharing.

DNS records

The new DNSResolver class resolves domain names by performing a standard DNS query. The result of the DNS query is a DNS response containing the DNS records for that query. The information contained within the DNS records will depend on the type of the DNS resource record. DNS supports many different records types. The DNSResolver class supports the following subset of record types:

  • A: An A record maps an IPv4 address to a hostname. It contains the hostname, time-to-live (TTL), and IPv4 IP address.
  • AAAA: An AAAA record maps an IPv6 address to a hostname. It contains the hostname, TTL, and IPv6 IP address.
  • MX: An MX record maps a list of mail servers to a domain name. It contains the hostname, TTL, exchange server, and preference.
  • PTR: A PTR record maps a hostname to an IP address. This is essentially a reverse DNS lookup. A PTR record contains the hostname, TTL, and a pointer to the host.
  • SRV: An SRV record maps a list of services to a domain name. It contains the hostname, TTL, priority, weight, port, and target domain.

DNSResolver example

To enable DNS resolution within an AIR application, you will need to create a DNSResolver object and add an event listener to handle lookup events. The lookup event will return records from a DNS response. An example of this is shown below:

import flash.net.dns.DNSResolver; import flash.net.dns.ARecord; import flash.net.dns.AAAARecord; import flash.net.dns.MXRecord; import flash.net.dns.PTRRecord; import flash.net.dns.SRVRecord; var dnsResolver:DNSResolver = new DNSResolver(); public function init():void { dnsResolver.addEventListener("lookup", lookupHandler); } public function lookupHandler(event:DNSResolverEvent):void { var records:Array = new Array(); records = event.resourceRecords; var name:String = "Name: " + records[0].name; var ttl:String = "TTL: " + records[0].ttl; if (records[0] is ARecord) { var addr:String = "Addr: " + records[0].address; } elseif (records[0] is MXRecord) { var exchange:String = "Exchange: " + records[0].exchange; var preference:String = "Preference: " + records[0].preference; } elseif (records[0] is PTRRecord) { var ptr:String = "PTR: " + records[0].ptrdName; } elseif (records[0] is SRVRecord) { var priority:String = "Priority: " + records[0].priority; var weight:String = "Weight: " + records[0].weight; var port:String = "Port: " + records[0].port; var target:String = "Target: " + records[0].target; } }

An A record example

To make an A record request, call the DNSResolver lookup function with the hostname and record type as shown below.

public function lookupA():void { dnsResolver.lookup("echotest.adobepacifica.net", ARecord); }

In this example, the DNS response would be the following:

Name: echotest.adobepacifica.net TTL: 7200 Addr: 192.168.0.1

AAAA record example

To make an AAAA record request, you can use the example above for making an A record request, but specify AAAARecord as the type in place of ARecord.

MX record example

To make an MX record request, call the DNSResolver lookup function with the domain name and record type as shown below.

public function lookupMX():void { dnsResolver.lookup("echotest.adobepacifica.net", MXRecord); }

In this example, the DNS response would be the following:

Name: echotest.adobepacifica.net TTL: 528 Exchange: mail.echotest.adobepacifica.net Preference: 10

PTR record example

To make a PTR record request, call the DNSResolver lookup function with the IP address and record type as shown below.

public function lookupPTR():void { dnsResolver.lookup("65.49.27.91", PTRRecord); }

In this example, the DNS response would be the following:

Name: 91.subnet64.27.49.65.in-addr.arpa TTL: 557721 PTR: reverse.echotest.adobepacifica.net

SRV record example

To make an SRV record request, call the DNSResolver lookup function with the service name and record type as shown below.

public function lookupSRV():void { dnsResolver.lookup("_sip._udp.adobepacifica.net", SRVRecord); }

In this example, the DNS response would be the following:

Name: _sip._udp.adobepacifica.net TTL: 14071 Priority: 0 Weight: 1 Port: 5060 Target: adobepacifica.net

Where to go from here

For further information about the DNSResolver class and its usage, please refer to the AIR 2 release notes.

More Like This

  • Creating accessible Adobe AIR applications with the Flex SDK
  • Using the Adobe AIR 2 NativeProcess API to create a screen recorder
  • Customer story: AIR - NASDAQ Market Replay
  • Reducing CPU usage in Adobe AIR
  • Building multilingual Flex applications on Adobe AIR
  • Building an XML viewer on Adobe AIR with Flex
  • Using drag-and-drop support of remote files in Adobe AIR 2
  • Retrieving a list of network interfaces in Adobe AIR 2
  • Using the Microphone capabilities in Adobe AIR 2
  • Exploring the new file capabilities in Adobe AIR 2

Tutorials & Samples

Tutorials

  • Retrieving a list of network interfaces in Adobe AIR 2
  • Writing multiscreen AIR apps
  • Using the AIR 2 NativeProcess API to create a screen recorder
  • Resolving DNS records in Adobe AIR 2

Samples

  • Using the Salesbuilder Adobe AIR sample application

Adobe AIR Forums

More
02/07/2012 FacebookMobile - logout user?
02/07/2012 Do app updates delete LSOs?
02/02/2012 Facebook iOS?
01/31/2012 Can't sign AIR application so it can be uploaded to Apple

Adobe AIR Blog

More
02/02/2012 AIRKinect Extension is a Native Extension for use with Adobe AIR...
02/01/2012 Microsoft Kinect and Adobe AIR
02/01/2012 New Adobe Flash Player 11.2 beta for Desktops and Adobe AIR 3.2 beta
01/30/2012 Using charts inside Mobile Applications with Adobe AIR

Products

  • Creative Suite
  • Photoshop Family
  • Acrobat Family
  • Flash Platform
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Mobile apps

Solutions

  • Digital marketing
  • Digital media
  • Web Experience Management

Industries

  • Education
  • Financial services
  • Government

Help

  • Product help centers
  • Orders and returns
  • Downloading and installing
  • My Adobe

Learning

  • Adobe Developer Connection
  • Adobe TV
  • Training and certification
  • Forums
  • Design Center

Ways to buy

  • Adobe Store
  • For students and educators
  • For small and medium businesses
  • For enterprises
  • Special offers

Downloads

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

Company

  • News room
  • Partner programs
  • Corporate social responsibility
  • Career opportunities
  • Investor Relations
  • Events
  • Legal
  • Contact Adobe
Choose your region United States (Change)
Choose your region Close

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Pacific - English
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy (updated 07-14-2009).

Ad Choices

Reviewed by TRUSTe: site privacy statement