1、select
原型:
#include <sys/select.h>
int select(int maxfd, fd_set *rdset, fd_set *wrset, fd_set *exset, struct timeval *timeout);
功能:
select用来实现多路复用输入/输出模型。select系统调用来让我们的程序监视多个文件句柄的状态变化。程序会停在select处等待,知道被监视的文件句柄有一个或多个发生了改变,可以等待执行异步I/O。
参数:
- maxfd是需要监视的最大的文件描述符值+1;
- rdset: 指向检查可读性的套接字集合的可选的指针。
- wrset: 指向检查可写性的套接字集合的可选的指针。
- exset: 指向检查错误的套接字集合的可选的指针。
- timeout: struct timeval结构用于描述一段时间长度,如果在这个时间内,需要监视的描述符没有事件发生则函数返回,返回值为0。定义如下。
#include <s
C++网络编程:深入理解select模型

本文详细介绍了C++中的select系统调用,包括其功能、参数、返回值和基本原理。select用于实现多路复用I/O模型,通过监视多个文件描述符的状态变化。文章还探讨了select模型的常见程序片段,特点以及如何处理文件描述符的最大数量限制。重点讲解了FD_SETSIZE及其对监控文件描述符数量的影响。
最低0.47元/天 解锁文章
6859

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



