poll函数

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

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

参数:

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

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

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

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

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

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

2. nfds:指定结构数组中元素的个数

3. timeout:指定poll函数返回前等待多长时间。它是一个指定赢等待毫秒数的正值。 

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

返回值

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

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


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


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-09
  • 2021-10-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-09
  • 2022-01-07
  • 2021-04-28
  • 2021-06-29
  • 2021-12-25
  • 2022-12-23
  • 2021-12-10
相关资源
相似解决方案