Martín Bove Blog! | Otro blog de tecnología…

TAG | DNS Records

La nueva habilidad de Adobe Air 2 de resolver DNS, puede ayudar en gran a mejorar las operaciones relacionadas con el manejo de redes en nuestras aplicaciones, si a esto le sumamos el manejo de Sockte´s, que es otra de las innovaciones en la versión 2 de Adobe AIR, se puede ver claramente como despunta un potencial interesante en lo que respecta al desarrollo de aplicaciones que hagan uso de los recursos de red, como por ejemplo serian aplicaciones del estilo per2per o inclusive aplicaciones de telefonía Ip.

Veamos un poco más en profundidad que puede hacer Adobe Air con respecto a los DNS.

Para dar soporte a la resolución de DNS, Adobe a integrado una nueva clase llamada:  DNSResolver, que se encuentra en el paquete “flash.net.dns”. Esta clase, resuelve DNS ejecutando un DNS Query estándar, y devolviéndonos una respuesta de los registros en lo que habitualmente se conoce como DNS Records.

Hay muchas clases de DNS Records, pero aquí les detallo cuales son los que Adobe Air 2, va a manejar.

  • A: Los registros A son los que mapean una dirección IPv4 con un hostname. Este registro contiene:  “hostname”, “TTL (Time To Live)” y la dirección “IPv4″.
  • AAAA: Los registros AAA son los que mapean una dirección IPv6 con un hostname. Este registro contiene: “hostname”, “TTL” y la dirección “IPv6″.
  • MX: Los registros MX mapean una lista de servidores de mail con un nombre de domino. Este registro contiene: “hostname”, “TTL”, “exchange server” y preferencias.
  • PTR: Los registros PTR mapean un hostname  con una dirección Ip, en esencia es lo que se conoce como “reverse DNSLookup” . Este registro contiene: “hostname”, “TTL”, y un puntero hacia el host.
  • SRV: Los registros SRV mapean una lista de servicios con un hostname. Este registro contiene: “hostname”, “TTL”, “priority”, “weight”, “port”, y “target domain”

La sintaxis para usar la clase sería la siguiente:

public function DNSResolverExample()
{
//Create the resolver object
var resolver:DNSResolver = new DNSResolver();
resolver.addEventListener( DNSResolverEvent.LOOKUP, lookupComplete );
resolver.addEventListener( ErrorEvent.ERROR, lookupError );

//Look up records
resolver.lookup( "example.com.", ARecord );
resolver.lookup( "example.com", AAAARecord );
resolver.lookup( "example.com", MXRecord );
resolver.lookup( "208.77.188.166", PTRRecord );
resolver.lookup( "_sip._tcp.example.com.", SRVRecord );
}

Para probar un poco esta nueva funcionalidad he realizado esta pequeña aplicación, que aquí pueden ver y más abajo descargar.
nota: Es necesario para compilar está aplicación el SDK de Adobe AIR2 instalado en nuestro entrono de desarrollo, en este post hay un tutorial de como instalarlo.
AIR 2 Ejemplo de uso de DNS

Aquí se puede descargar la aplicación de ejemplo como sus fuentes.
AIR2 Ejemplo DNS