select 函数学习心得
1 函数原型
fd_set read, write, error;
struct timeval timeout;
int fd;
int ret
fd_set fds;
int select(int nfds, fd_set * read, fd_set * write, fd_set * error, struct timeval *timeout)//if
//if &timeout == NULL 则为阻塞函数
ret 用来放回select()的值;
if(ret < 0)
error
else if(ret == 0)
timeout;//时间到了,集合里面还是没有文件描述符发生改变
else if(ret > 0)
{
返回发生变化的文件描述符数的总和
if(FD_ISSET(fd1,&fds) == 0)//判断fd1是否真的可读可写
read(fd,buff,sizeof(buf));
if(FD_ISSET(fd2,&fds) == 0)判断fd2是否真的可读可写
一个一个。。。。。
}

本文详细介绍了select函数的功能及其使用方法。包括函数原型、参数说明及如何判断文件描述符的状态变化等关键信息。
316

被折叠的 条评论
为什么被折叠?



