如何使用 DNS 和 LWIP 获取 ip?
How get ip with DNS and LWIP?
我正在使用 STM32F407 和带 uC-OS 的 lwip,我想从 dns 获取 ip。我试着调用这个函数。
ip_addr_t TargetIp;
dns_gethostbyname("www.google.com", &TargetIp, NULL, NULL);
但是,这个函数return -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);
}
我正在使用 STM32F407 和带 uC-OS 的 lwip,我想从 dns 获取 ip。我试着调用这个函数。
ip_addr_t TargetIp;
dns_gethostbyname("www.google.com", &TargetIp, NULL, NULL);
但是,这个函数return -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);
}