15. IO复用之poll函数

本文详细介绍了Linux中的poll函数,作为IO多路复用的一种方式,poll克服了select在文件描述符数量上的限制。文章阐述了poll的函数原型、参数解析,特别是struct pollfd结构体的使用,并通过实例代码展示了如何调用poll函数。最后,对比了poll与select函数的差异,帮助读者更好地理解和应用这两个IO复用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前面介绍了使用select函数能避免服务端关闭而客户端还在阻塞的问题, 同时也能将多进程的服务端改写成单进程就能完成多个客服端的连接. 但是使用select代替多进程服务端还有很大的问题, 比如fd_set只能支持1024个文件描述符, 对于服务器太少了.

本节介绍另一个IO多路复用函数来弥补select的个别不足.


函数原型

poll 一次能够监听的描述符个数是根据数组大小来决定的, 最大值远大于select的上限.

#include <poll.h>
int poll(struct pollfd *fdarray, unsigned long nfds, int timeout);
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值