c-如何通过DNS和LWIP获得ip



我在uC操作系统中使用STM32F407和lwip,我想从dns中获取ip。我试着调用这个函数。

ip_addr_t TargetIp;
dns_gethostbyname("www.google.com", &TargetIp, NULL, NULL);

但是,此函数返回-5(ERR_INPROGRESS(。此外,如果我写";192.168.10.15";而不是";www.google.com";没有问题。如何使用DNS或其他方法获取ip。

我解决了!我修复了dns_gethostbyname 的函数调用

dns_gethostbyname("www.google.com", &TargetIp, dnsFound, NULL);

我写了一个回调函数,名字是dnsFound,就像这样。

void dnsFound(const char *name, ip_addr_t *ipaddr, void *arg) 
{       
dns_gethostbyname("www.google.com", &TargetIp, dnsFound, NULL);
}

最新更新