|
Written by Andreas Haberstroh
|
|
Tuesday, 17 July 2007 |
|
First release of the asio::dns Library
asio::dns is a cross-platform C++ library for sending and receiving DNS resource records. Licenseasio::dns is release under the Boost Software License. Dependenciesasio::dns requires Boost version 1.33 or later and asio version 0.3.8. Using asio::dnsThe asio::dns library is relatively simplistic in design. A simple example of making a DNS request is as follows: #include <boost/asio.hpp> #include <boost/asio/dns/resolve.hpp> using namespace boost::asio; int main(int argc, char* argv[]) { dns::message dns_message("cnn.com", dns::type_a ); dns::resolve resolver;
ip::address a_gltd_servers_net( ip::address::from_string("192.5.6.30") ); resolver.addServer( a_gltd_servers_net );
ip::address b_gltd_servers_net( ip::address::from_string("192.33.14.30") ); resolver.addServer( b_gltd_servers_net );
ip::address c_gltd_servers_net( ip::address::from_string("192.26.92.30") ); resolver.addServer( c_gltd_servers_net );
ip::address d_gltd_servers_net( ip::address::from_string("192.31.80.30") ); resolver.addServer( d_gltd_servers_net );
ip::address e_gltd_servers_net( ip::address::from_string("192.12.94.30") ); resolver.addServer( e_gltd_servers_net );
ip::address f_gltd_servers_net( ip::address::from_string("192.35.51.30") ); resolver.addServer( f_gltd_servers_net );
ip::address g_gltd_servers_net( ip::address::from_string("192.42.93.30") ); resolver.addServer( g_gltd_servers_net );
ip::address h_gltd_servers_net( ip::address::from_string("192.54.112.30") ); resolver.addServer( h_gltd_servers_net );
ip::address i_gltd_servers_net( ip::address::from_string("192.43.172.30") ); resolver.addServer( i_gltd_servers_net );
ip::address j_gltd_servers_net( ip::address::from_string("192.48.79.30") ); resolver.addServer( j_gltd_servers_net );
ip::address k_gltd_servers_net( ip::address::from_string("192.52.178.30") ); resolver.addServer( k_gltd_servers_net );
ip::address l_gltd_servers_net( ip::address::from_string("192.41.162.30") ); resolver.addServer( l_gltd_servers_net );
dns::message dns_response = resolver.query(dns_message);
return 0; }
|