class Poco::Net::DNS
Overview
This class provides an interface to the domain name service. Moreā¦
#include <DNS.h> class DNS { public: // enums enum HintFlag; // methods static HostEntry hostByName( const std::string& hostname, unsigned hintFlags = DNS_HINT_NONE ); static HostEntry hostByAddress( const IPAddress& address, unsigned hintFlags = DNS_HINT_NONE ); static HostEntry resolve(const std::string& address); static IPAddress resolveOne(const std::string& address); static HostEntry thisHost(); static void reload(); static void flushCache(); static std::string hostName(); protected: // methods static int lastError(); static void error( int code, const std::string& arg ); static void aierror( int code, const std::string& arg ); };
Detailed Documentation
This class provides an interface to the domain name service.
An internal DNS cache is used to speed up name lookups.
Methods
static HostEntry resolve(const std::string& address)
Returns a HostEntry object containing the DNS information for the host with the given IP address or host name.
Throws a HostNotFoundException if a host with the given name cannot be found.
Throws a NoAddressFoundException if no address can be found for the hostname.
Throws a DNSException in case of a general DNS error.
Throws an IOException in case of any other error.
static IPAddress resolveOne(const std::string& address)
Convenience method that calls resolve(address) and returns the first address from the HostInfo.
static HostEntry thisHost()
Returns a HostEntry object containing the DNS information for this host.
Throws a HostNotFoundException if DNS information for this host cannot be found.
Throws a NoAddressFoundException if no address can be found for this host.
Throws a DNSException in case of a general DNS error.
Throws an IOException in case of any other error.
static void reload()
Reloads the resolver configuration.
This method will call res_init() if the Net library has been compiled with -DPOCO_HAVE_LIBRESOLV. Otherwise it will do nothing.
static void flushCache()
Flushes the internal DNS cache.
As of 1.4.2, the DNS cache is no longer used and this method does not do anything.
static std::string hostName()
Returns the host name of this host.
static int lastError()
Returns the code of the last error.
static void error( int code, const std::string& arg )
Throws an exception according to the error code.
static void aierror( int code, const std::string& arg )
Throws an exception according to the getaddrinfo() error code.