
网络编程
文章平均质量分 80
为你挡风遮雨
这个作者很懒,什么都没留下…
展开
-
Linux平台下优于select的epoll
基于select的I/O复用技术速度慢的原因 调用select函数后常见的针对所有文件描述符的循环语句 每次调用select函数时都需要向该函数传递监视对象信息 调用select函数后,并不是把发生变化的文件描述符单独集中到一起,而是通过观察作为监视对象的fd_set变量的变化,找出发生变化的文件描述符,因此无法避免针对所有监视对象的循环语句。而且,作为监视对象的fd_set变量会发生变化,所以调用select函数前应复制并保存原有信息,并在每次调用select函数时传递新的监视对象信息(每次调用s原创 2021-07-25 16:40:18 · 312 阅读 · 0 评论 -
详述I/O复用中的select函数
select函数的功能和调用顺序 使用select函数时可以将多个文件描述符集中到一起统一监视。 调用顺序如下: 设置文件描述符 首先要将监视的多个文件描述符集中到一起,集中时按照监视项(接收、传输、异常)进行区分,按照上述3种监视项分成三类。可以使用fd_set数组执行此项操作,该数组是存有0和1的位数组,当某位设置为1,则表示该文件描述符是监视对象,反之,则不是。 在fd_set变量中注册或更改值的操作由以下宏完成: FD_ZERO(fd_set *fdset) : 将fd_set变量的所有位初原创 2021-07-23 16:16:28 · 196 阅读 · 0 评论