window c++ select 参数列表介绍
select() 函数是在 socket 编程中使用的一种 I/O 多路复用技术,用于同时监听多个文件描述符的可读、可写、异常等事件。它的参数列表如下:
nfds:待检查的文件描述符集合中最大的文件描述符加 1。
readfds:指向 fd_set 类型的指针,包含了需要监视可读事件的文件描述符集合。
writefds:指向 fd_set 类型的指针,包含了需要监视可写事件的文件描述符集合。
exceptfds:指向 fd_set 类型的指针,包含了需要监视异常事件的文件描述符集合。
timeout:指向 struct timeval 类型的指针,表示 select() 函数的超时时间。如果为 NULL,则表示不设置超时时间,一直等待直到有事件发生。
其中 fd_set 类型是一个长整型数组,每一个数组元素对应一个文件描述符。可以用以下宏函数操作 fd_set:
FD_ZERO(fd_set *set):将 fd_set 集合清零。
FD_SET(int fd, fd_set *set):将指定 fd 加入 set 集合。
FD_CLR(int fd, fd_set *set):将指定 fd 从 set 集合中删除。
FD_ISSET(int fd, fd_set *set):判断指定 fd 是否在 set 集合中。
相关技术视频教程:c/c++ linux服务器开发/后台架构师免费学习地址
c/c++后端技术交流群:579733396
评论