magicing 2009年05月06日
为什么会阻塞在select上?select函数本身是阻塞的吗?
程序大致如下,省略了socket的建立过程,也调用了ioctlsocket函数把s转成非阻塞的了,可是程序运行起来还是阻塞了,debug跟踪进去发现是卡在select这句话上,select一运行程序就不动了,帮忙看下怎么回事吧~~
u_long ul=1;
ioctlsocket(s,FIONBIO,&ul);
fd_set fdRead;
FD_ZERO(&fdRead);
FD_SET(s,&fdRead);
char* buf=new char[30];
struct sockaddr_vm their_addr={0};
timeval time;
time.tv_sec=1;
int len=sizeof(their_addr);
select(0,&fdRead,NULL,NULL,&time);
if(FD_ISSET(s,&fdRead)){
int rec=recvfrom(s,buf,30,0,(SOCKADDR*)&their_addr,&len);
}
...全文
335 点赞 收藏 8
写回复
8 条回复

还没有回复,快来抢沙发~

发动态
发帖子
网络编程
创建于2007-09-28

7878

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告