请教:MTK网络编程接口soc_gethostbyname

BuleRiver 2010-03-09 02:21:17
大家好!看名字的话,应该完成的功能和标准的gethostbyname()函数是一样的,该函数的声明如下:

/* currently, this function only support non-blocking mode */
extern
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);

其中第三个参数request_id不知道是干什么用的,看了一些demo,或者传入HTTP,或者传入DNS,但是如果我仅仅不为其他的目的,我就是要根据域名来得到IP地址就不行吗?
感觉很奇怪,请大家帮忙,谢谢!!!
...全文
795 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsfeng9 2010-04-30
  • 打赏
  • 举报
回复
最近也在折腾这个哎,希望高手能够解释下啊!
BuleRiver 2010-03-11
  • 打赏
  • 举报
回复
我看了一下,MTK上socket的demo的request_id设置的都是这里面的:

typedef enum
{
HTTP,
DNS,
DAYTIME,
ECHO,
TRACERT
} mmi_soc_demo_app_enum;

那如果我需要的服务都不是上面的服务,例如FTP或者RTSP/RTP/RTCP等等,我也需要调用该函数,我该如何做呢?
Oo_Oo_ 2010-03-10
  • 打赏
  • 举报
回复
传的是APP_ID,不能随便传的,看soc_gethostbyname异步回调,是这么个函数
void soc_app_get_host_by_name_ind(void* inmsg)
{
app_soc_get_host_by_name_ind_struct *dns = (app_soc_get_host_by_name_ind_struct *)inmsg;
//。。。。
}

typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_bool result;
kal_int32 request_id;
kal_uint8 access_id;
kal_uint8 addr_len; /* the first record in entry, */
kal_uint8 addr[16]; /* for backward compatibility */
kal_uint8 num_entry;
soc_dns_a_struct entry[SOC_MAX_A_ENTRY];

/* New for DNS query reply for reporting bearer fail */
kal_int8 error_cause; /* bearer fail */
kal_int32 detail_cause; /* refer to ps_cause_enum if error_cause
* is SOC_BEARER_FAIL */
} app_soc_get_host_by_name_ind_struct;

结构体里的request_id就是APP_ID的值。
是为了区分不同的APP
BuleRiver 2010-03-09
  • 打赏
  • 举报
回复
引用 3 楼 lius1984 的回复:
request_id是自定义的int型变量。  表示不同的APP而已。

可参考这篇文章:http://blog.163.com/mjpzlj@126/blog/static/35882027200811455051660/

既然是自定义的int型变量,那么我在使用的时候,直接传入0就可以了啊???
lius1984 2010-03-09
  • 打赏
  • 举报
回复
request_id是自定义的int型变量。 表示不同的APP而已。

可参考这篇文章:http://blog.163.com/mjpzlj@126/blog/static/35882027200811455051660/
Oo_Oo_ 2010-03-09
  • 打赏
  • 举报
回复
mdi_audio_get_progress_time(¤tProgress);

currentProgress调了好几次,怎么都一直是0?
Oo_Oo_ 2010-03-09
  • 打赏
  • 举报
回复
上QQ,我来详细说明~~
上MSN,我来详细说明~~

怎么播放一个MP3片段?

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧