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
补充:移动开发 , 超极本开发