MTK实现UDP连接问题

kongshoubu 2010-08-11 06:15:08
我这样来实现UDP的连接,
kal_uint8 val=KAL_TRUE;
kal_int8 soc_ret;
//kal_int8 soc_id;
kal_uint8 UDP_send_buf[] = "Hello!";

EntryNewScreen(333, 0, 0, NULL);
clear_screen();
//soc_id = soc_create(2, SOC_SOCK_DGRAM, 0, MOD_MMI, 14); //AF_INET==2,这样create失败soc_id < 0
soc_id = soc_create(SOC_PF_INET, SOC_SOCK_DGRAM, 0, MOD_MMI, 14);
if( soc_id < 0)
{
gui_move_text_cursor(0, 0);
gui_set_text_color(UI_COLOR_RED);
gui_print_text( L"Create fail!");
gui_BLT_double_buffer( 0, 0, UI_device_width -1, UI_device_height -1);
return ;
}

if(soc_setsockopt(soc_id, SOC_NBIO, &val, sizeof(val)) < 0)
{
return ;
}
val = SOC_READ | SOC_WRITE | SOC_CLOSE | SOC_CONNECT | SOC_ACCEPT ;
if(soc_setsockopt(soc_id, SOC_ASYNC, &val, sizeof(val)) < 0)
{
return ;
}

memset( &my_ip_addr, 0, sizeof(sockaddr_struct));

my_ip_addr.addr[0] = 123;
my_ip_addr.addr[1] = 65;
my_ip_addr.addr[2] = 212;
my_ip_addr.addr[3] = 142;
my_ip_addr.addr_len = 4;
my_ip_addr.port = 6001;
my_ip_addr.sock_type = SOC_SOCK_DGRAM;
soc_ret = soc_bind(soc_id,&my_ip_addr);//来到这里绑定失败
if(soc_ret != SOC_SUCCESS)
{
gui_move_text_cursor(0, 30);
gui_set_text_color(UI_COLOR_RED);
gui_print_text( L"bind error!");
gui_BLT_double_buffer( 0, 0, UI_device_width -1, UI_device_height -1);
soc_close(soc_id);
}
else
{

soc_ret = soc_sendto(soc_id,UDP_send_buf,(kal_uint32)strlen((const char *)UDP_send_buf),0,&my_ip_addr);
if(soc_ret > 0)
{

my_socket_receive();
}
}

}

我想用UDP连接去发送数据和接收数据,但是总是绑定失败,我这样写有什么问题吗?不惜赐教。。。。
...全文
399 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
codelabs 2010-08-21
  • 打赏
  • 举报
回复
soc_id = soc_create(SOC_PF_INET, SOC_SOCK_DGRAM, 0, MOD_MMI, 14);

这行不是这样填的把?最后一个参数是函数不同平台的函数获得的,而不是直接14或10
kongshoubu 2010-08-13
  • 打赏
  • 举报
回复
为什么没有人理我呢???

790

社区成员

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

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