dns_gethostbyname
Posted: Thu Jan 11, 2024 12:44 pm
I am trying to implement dns_gethostbyname() to check if my ESP32 is really connected with the internet or not. If connected, we then only try to connect to our AWS server.
Every time there is internet, I get success statement from the below code
[Codebox]
void dns_found_cb(const char *name, const ip_addr_t *ipaddr, void *callback_arg)
{
// ip_Addr = ipaddr;
if(ipaddr != NULL)
{
ip_addr_t resolved_ip = *ipaddr;
printf("ADDRESS : %u\n", resolved_ip.addr);
printf("dns_found_cb SUCCESS \n");
}
else
{
printf("dns_found_cb FAIL\n");
}
dns_clear_cache();
xEventGroupSetBits(dns_event, 1<<0);
}[/Codebox]
But when I remove the internet while esp32 is connected to the wifi ssid, it still gives success for some time before reaching to the *FAIL* state due to which we are unable to implement the feature.
What can be the possible solution for this?
Every time there is internet, I get success statement from the below code
[Codebox]
void dns_found_cb(const char *name, const ip_addr_t *ipaddr, void *callback_arg)
{
// ip_Addr = ipaddr;
if(ipaddr != NULL)
{
ip_addr_t resolved_ip = *ipaddr;
printf("ADDRESS : %u\n", resolved_ip.addr);
printf("dns_found_cb SUCCESS \n");
}
else
{
printf("dns_found_cb FAIL\n");
}
dns_clear_cache();
xEventGroupSetBits(dns_event, 1<<0);
}[/Codebox]
But when I remove the internet while esp32 is connected to the wifi ssid, it still gives success for some time before reaching to the *FAIL* state due to which we are unable to implement the feature.
What can be the possible solution for this?