while(1)
{
FD_ZERO(&set);
foreach(需要监控的文件)
{
fd>maxfd?fd:maxfd;
res=select(maxfd+1,&set,0,0,0);
if(FD_ISSET(listen_fd,&set))
{
newfd=accept(listenfd,&set);
array[nsock++]=newfd;
if(--res<0) continue;
}
}
foreach(需要监控的文件)
{
if(FD_ISSET(fd,&tyle="COLOR: #ff0000">set))
执行相关操作
如果错误或者关闭,则要删除该fd;将array中相应的位置和最后一个元素互换就好,nsock
减1
if(--res<0) continue;
}
}