Doxygen with github
|
Class for resolving domain names to IP addresses using DNS queries. More...
#include <ksDomainQuery.h>
Public Member Functions | |
ksDomainQuery () | |
Default constructor. Uses KSF_DOMAIN_QUERY_DNS_SERVER as the DNS server. | |
virtual | ~ksDomainQuery () |
Destructor. | |
ksDomainQuery (IPAddress dnsServer) | |
Constructs a new ksDomainQuery object. | |
void | invalidate () |
Invalidates the resolved IP address and the last query send time. It will cause a new query to be sent. | |
void | setDomain (std::string domain) |
Sets the domain to resolve IP address for. | |
bool | getResolvedIP (IPAddress &ip) const |
Retrieves the resolved IP address for the domain. | |
void | process () |
Handles resolver tasks, such as sending queries and receiving responses. | |
Protected Member Functions | |
void | sendQuery () |
Sends DNS query to the DNS server. | |
void | receiveResponse () |
Receives DNS response from the DNS server. | |
Protected Attributes | |
IPAddress | serverIP |
std::unique_ptr< WiFiUDP > | udp |
std::string | domain |
IPAddress | resolvedIP |
uint16_t | transactionID {0} |
uint32_t | lastQuerySendTimeMs {0} |
Class for resolving domain names to IP addresses using DNS queries.
To prevent DNS caching, a new query is sent every KSF_DOMAIN_QUERY_INTERVAL_MS milliseconds. This component was created to address issues encountered with standard DNS libraries.
ksf::misc::ksDomainQuery::ksDomainQuery | ( | IPAddress | dnsServer | ) |
Constructs a new ksDomainQuery object.
dnsServer | IP address of the DNS server to use for resolving domain names. By default, KSF_DOMAIN_QUERY_DNS_SERVER is used. |
bool ksf::misc::ksDomainQuery::getResolvedIP | ( | IPAddress & | ip | ) | const |
Retrieves the resolved IP address for the domain.
ip | IP address to store the resolved IP address in. |
Referenced by ksf::comps::ksMqttConnector::connectToBroker().
void ksf::misc::ksDomainQuery::setDomain | ( | std::string | domain | ) |
Sets the domain to resolve IP address for.
domain | Domain to resolve IP address for. |
References invalidate().
Referenced by ksf::comps::ksMqttConnector::setupConnection().