I got it. I did not Initialize the resolver. So I add the function dns_init(), which sets up the UDP pcb and configures the default server, before calling netconn_gethostbyname and it works. Thank all of you!
Bei Guan 2010/11/19 David Empson <[email protected]> > I assume you are initializing LWIP via a call to tcip_init()? If so, the > DNS module should be correctly initialized, which eliminates one possible > reason for an ERR_VAL result. Your parameters look OK, which rules out all > the other "immediate error" results which can return ERR_VAL. > > (I've just filed a bug report, as the init/parameter error conditions are > supposed to return ERR_ARG but are actually returning ERR_VAL.) > > ERR_VAL is also returned if there is an invalid response from the DNS > sever. The comment in do_dns_found() suggests this could be a timeout or > memory error, or the DNS server may have returned an error such as a > nonexistent domain name. > > ----- Original Message ----- > > *From:* Bei Guan <[email protected]> > *To:* Mailing list for lwIP users <[email protected]> > *Sent:* Friday, November 19, 2010 4:25 AM > *Subject:* [lwip-users] Re: Problem on using DNS function in app > > Now I can compile successfully. But there are some error and the value of > the error is -9, which means "Illegal value". > > My code: > char hname[]="www.baidu.com"; > struct ip_addr addr; > err_t err; > if ((err = netconn_gethostbyname((char*)(hname), &(addr))) == ERR_OK) { > printf("netconn_gethostbyname(%s)==", (char*)(hname)); > ip_addr_debug_print(LWIP_DBG_ON, (&addr)); > printf("\n"); > } else { > printf("netconn_gethostbyname(%s)==%i\n", (char*)(hname), (int)(err)); > } > > And the output: > netconn_gethostbyname(www.baidu.com)==-9 > > > So why the DNS can not work? > > 2010/11/18 Bei Guan <[email protected]> > >> Hi all, >> >> I have used the function netconn_gethostbyname in my program. I have set >> the #define LWIP_DNS 1 in lwipopts.h and I also have include the >> "lwip/api.h" before my main function. When I compile my program, it came >> cross an error message: undefined reference to `netconn_gethostbyname'. But >> some other function can be used successfully, such as netconn_connect. >> >> So anyone can give me advice. Thanks a lot! >> > > _______________________________________________ > lwip-users mailing list > [email protected] > http://lists.nongnu.org/mailman/listinfo/lwip-users >
_______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
