回复【2楼】xiaoyan:
---------------------------------
谢谢版主您的回答,我用您这个的程序在while(1)里面有调用LWIP_Polling();这个函数里面我添加了 if(timer_expired(&last_dns_time,DNS_TMR_INTERVAL/CLOCKTICKS_PER_MS))
{
dns_tmr();
}
但是还是没有打印出来IP值,
我用单步执行追踪dns_gethostbyname("www.openedv.com",&DNS_Addr,dns_serverFound,NULL);这个函数的时候是返回ERR_INPROGRESS
运行到
void dns_serverFound(const char *name, struct ip_addr *ipaddr, void *arg)
这个函数的时候,发现ipaddr的地址为0x00000000
返回的值的一直是错的,
这个程序只是在您的过程里改动的
难道还需要在dns.c或者dns.h初始化里改动什么吗?
源函数:
typedef void (*dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *callback_arg);//dns.h
dns_gethostbyname(const char *hostname, ip_addr_t *addr, dns_found_callback found, void *callback_arg)//dns.c |