(二)TCP客户端/服务器通信------poll函数

poll函数

poll提供的功能与select类似,不过在处理流设备时,它能提供额外的信息。poll函数的设计实现是基于 结构体数组;select函数的设计实现是基于 描述符集

参数:

1. fdarray:指向一个结构体数组的第一个元素的指针。每个数组元素都是一个pollfd结构,用于指定测试某个给定描述符fd的条件。

    fd:被检查的描述符;events:测试条件(作为调用值);revents:描述符的返回状态(返回结果)


poll识别三类数据:普通、优先级带和高级优先级带。


2. nfds:指定结构数组中元素的个数
3. timeout:指定poll函数返回前等待多长时间。它是一个指定赢等待毫秒数的正值。 

返回值

1.当发生错误时,poll函数的返回值为-1;

2.若定时器到时之前没有任何描述符就绪,则返回0,否则返回就绪描述符的个数,即revents成员值非0的描述符个数。


如果我们不再关心某个特定描述符,那么可以把它对应的pollfd结构的fd成员设置成一个负值。poll函数将会忽略这样的pollfd结构的events成员,返回时将它们的revents成员的值设置为0.


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值