UDP型socket的select问题

ccc2007 2007-01-30 08:22:24
创建了一个UDP套接字,之后使用select,但每次select的返回结果都是0,为什么?
代码如下(省略部分声明):
m_sock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if(m_sock==INVALID_SOCKET)
{
return FALSE;
}
addr.sin_family = PF_INET;
addr.sin_port = INADDR_ANY;
addr.sin_addr.s_addr = INADDR_ANY;

if(bind(m_sock,(struct sockaddr *)&addr,sizeof(addr))!=0)
{
return FALSE;
}

addr.sin_family =PF_INET;
addr.sin_port = htons(4000);
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
//发送数据
ret = sendto(m_sock,sendbuf,len,0,(sockaddr *)&addr,sizeof(addr));
FD_ZERO(&fdr);
FD_SET(m_sock, &fdr);
ret = select(m_sock, &fdr, NULL,NULL, &timeout);
上面的ret一直是0。
但这些代码在Window2000下能正确执行,ret返回1。
...全文
927 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxf0204 2008-06-19
  • 打赏
  • 举报
回复
你检查一下你的申明部分看看
fangzheng2008 2008-06-16
  • 打赏
  • 举报
回复
顶贴
xiangding 2008-03-28
  • 打赏
  • 举报
回复
没定阻塞吧?

select如果不成功应该是返回-1,成功则应该是1或1以上的值

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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