当前位置:编程学习 > wap >>

soc_gethostbyname 使用问题

kal_int8 soc_gethostbyname(kal_bool is_blocking,
                           module_type     mod_id,
                           kal_int32       request_id,
                           const kal_char  *domain_name,
                           kal_uint8       *addr,
                           kal_uint8       *addr_len,
                           kal_uint8       access_id,
                           kal_uint32      nwk_account_id);

如何从中提取IP呢 kal_uint8  *addr  IP 有四个字段 ,而addr 一次不是只能后的一个字段的数据吗? --------------------编程问答-------------------- 如果说用循环 获取IP 每次取一个字段 
for (index=0;index<4;index++)
{
    printf("%d.",*(addr+index));
}

不知道为什么要调用两次soc_gethostbyname 才能取到IP 

使用前先给addr 全赋值为0  
memset(addr, 0, sizeof(addr)); 
然后调用soc_gethostbyname
再输出addr 结果全是0 
但是如果调用两次soc_gethostbyname 则可以获得想要的IP地址  求解释 --------------------编程问答-------------------- 第一次调用soc_gethostbyname时总是返回SOC_WOULDBLOCK 第二次调用就可以了 怎么在第一次调用返回结果为SOC_WOULDBLOCK 时从中提取IP呢  --------------------编程问答-------------------- 第一次调用BLOCK, 是因为网络会回给你数据, 从里面可以提取当前的DNS, 本地IP, 目的IP --------------------编程问答-------------------- --------------------编程问答-------------------- 目的IP
补充:移动开发 ,  超极本开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,