我有以下代码:
FD_SET(mc_sock, &readfds);
foo = FD_ISSET(mc_sock, &readfds); // returns 1
// Wait until some socket on the set is ready to be read
while(select (FD_SETSIZE,&readfds,NULL,NULL,ptv)) {
foo = FD_ISSET(mc_sock, &readfds); // returns 0
我将mc_sock添加到 readfds ,FD_ISSET按预期返回1。但是稍后在内部时,循环FD_ISSET返回0而不调用FD_CLR。 当我运行MobileC服务器但代码运行时没有任何FD_CLR时,代码跳转到了。 我是套装和文件描述符的新手,我还没有发现发生了什么。你有什么想法吗?
谢谢!