MTK模拟器读取UDP数据问题

为毛呀 2010-03-12 11:49:14
MTK模拟器读取UDP数据,接收不到数据,用ethereal监控网络的时候发现有返来的数据,但是我在模拟器上收不数据。
代码如下。
rtpsoc_id = soc_create((kal_int8)AF_INET, (kal_int8)SOCK_DGRAM, (kal_int8)0, MOD_MMI, nwt_acount_id);
kal_uint8 val = KAL_TRUE;
if (soc_setsockopt(rtpsoc_id, SOC_NBIO, &val, sizeof(val)) <0)
{
char *szInfo = "soc_setsockopt SOC_NBIO failed\n";
fone_mmi_write_logfile(szInfo, strlen(szInfo));
return FALSE;
}

val=SOC_READ | SOC_WRITE | SOC_ACCEPT | SOC_CLOSE | SOC_CONNECT;
if (soc_setsockopt(rtpsoc_id, SOC_ASYNC, &val, sizeof(val)) <0)
{
char *szInfo = "soc_setsockopt SOC_ASYNC failed\n";
fone_mmi_write_logfile(szInfo, strlen(szInfo));
return FALSE;
}

myrtp_ip_addr.addr[0] = 127;//10;
myrtp_ip_addr.addr[1] = 0;//0;
myrtp_ip_addr.addr[2] = 0;//0;
myrtp_ip_addr.addr[3] = 1;//172;
myrtp_ip_addr.port = 1024;
myrtp_ip_addr.addr_len = 4;
myrtp_ip_addr.sock_type = SOCK_DGRAM;

SetProtocolEventHandler(my_socket_notify, MSG_ID_APP_SOC_NOTIFY_IND);

soc_ret = soc_bind(rtpsoc_id, &myrtp_ip_addr);
if (soc_ret != SOC_SUCCESS)
{
/****LOG*****/
char strTemp[50] = {0};
sprintf(strTemp, "soc_bind error:%d\n", soc_ret);
fone_mmi_write_logfile(strTemp, strlen(strTemp));

soc_close(rtpsoc_id);
return soc_ret;
}


my_socket_notify这个函数里面收不到数据。
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
为毛呀 2010-08-13
  • 打赏
  • 举报
回复
我最近一直整android,好久没有弄MTK,我记得当时是我自己创建的一个NET链接,具体参数记不清楚了。
[Quote=引用 3 楼 kongshoubu 的回复:]

请问你用的nwt_acount_id的值是多少?
[/Quote]
kongshoubu 2010-08-11
  • 打赏
  • 举报
回复
请问你用的nwt_acount_id的值是多少?
为毛呀 2010-03-14
  • 打赏
  • 举报
回复
问题解决了,把IP改成0.0.0.0就行了,读取数据时得把缓冲区申请大点。
bsr2009 2010-03-12
  • 打赏
  • 举报
回复
没搞过MTK UDP开发,不过WINDOWS MOBILE开发的时候,模拟器一定要采用TCP连接方式,而不能采用DMA方式。不知道MTK有没有类似问题。

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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