我在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);
}