(二)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的描述符个数。


扫描二维码关注公众号,回复: 2175755 查看本文章

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


猜你喜欢

转载自blog.csdn.net/damage233/article/details/81030607