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这个函数里面收不到数据。