- 
                Notifications
    
You must be signed in to change notification settings  - Fork 4
 
Example DNS‐Resolver
        ANYKS edited this page Sep 1, 2025 
        ·
        5 revisions
      
    #include <awh/net/dns.hpp>
#include <awh/core/core.hpp>
using namespace awh;
int32_t main(int32_t argc, char * argv[]){
	fmk_t fmk;
	log_t log(&fmk);
	dns_t dns(&fmk, &log);
	core_t core(&fmk, &log);
	log.name("DNS");
	log.format("%H:%M:%S %d.%m.%Y");
	dns.prefix("AWH");
	dns.servers({"77.88.8.88", "77.88.8.2"});
	log.print("IP1: %s", log_t::flag_t::INFO, dns.resolve("localhost").c_str());
	log.print("IP2: %s", log_t::flag_t::INFO, dns.resolve("yandex.ru").c_str());
	log.print("IP3: %s", log_t::flag_t::INFO, dns.resolve("google.com").c_str());
	log.print("IP4: %s", log_t::flag_t::INFO, dns.resolve("stalin.info").c_str());
	const auto & yandex = dns.search("77.88.55.60");
	if(!yandex.empty()){
		for(auto & domain : yandex)
			log.print("Domain: %s => %s", log_t::flag_t::INFO, domain.c_str(), "77.88.55.60");
	}
	
	log.print("Encode domain \"ремпрофи.рф\" == \"%s\"", log_t::flag_t::INFO, dns.encode("ремпрофи.рф").c_str());
	log.print("Decode domain \"xn--e1agliedd7a.xn--p1ai\" == \"%s\"", log_t::flag_t::INFO, dns.decode("xn--e1agliedd7a.xn--p1ai").c_str());
	return EXIT_SUCCESS;
}copyright © ANYKS