text: 
  var dns = require('..');
  var dgram = require('dgram');
  
  var DNSSERVER = '8.8.8.8';
  
  resolveAddress('www.google.com');
  
  function resolveAddress(name) {
    var packet = new dns.DNSPacket();
    packet.header.rd = 1; //make query recursive
    packet.question.push(new dns.DNSRecord(
      name,
      dns.DNSRecord.Type.A, 1)
    );
  
    var s = dgram.createSocket('udp4');
    s.bind();
  
    s.on('listening', function () {
      var buf = dns.DNSPacket.toBuffer(packet);
      s.send(buf, 0, buf.length, 53, DNSSERVER, function (err, bytes) {
        if (err) {
          return console.error('error sending', err);
        }
        console.log('sent request of %d bytes', bytes);
      });
    });
  
    s.on('message', function (data) {
      console.log('incomming response');
      var response = dns.DNSPacket.parse(data);
      response.answer.forEach(function (a) {
        console.log('answer type:%s, class:%s, name:%s',
          a.typeName, a.className, a.name, a.address);
      });
      s.close();
    });
  
    s.on('end', function () {
      console.log('connection closed');
    });
  
    s.on('error', function (err) {
      console.error('error', err);
    });
  }
  