|
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().