文件描述符就绪的条件(可读可写)

阅读: 评论:0

文件描述符就绪的条件(可读可写)

文件描述符就绪的条件(可读可写)

下列情况下,socket可读:

1.socket内核接收缓冲区中的字节数大于或者大于等于其低水位的标记SO_RCVLOWAT标记。此时,我们可以无阻塞的该socket,并且读操作的返回值大于0;
2.socket通信的对方关闭连接,此时对该socket的读操作将返回0;
3.监听socket上有新的连接请求;
4.socket上有未处理的错误。此时我们可以使用getsockopt来读取和清除错误

下列情况下,socket可写:

1.socket内核发送缓冲区中的可用字节数大于或者等于其低水位标记SO_SNDLOWAT,此时我们可以无阻塞的读该socket,并且返回值大于0;
2.socket的写操作被关闭,对写操作被关闭的socket执行写操作会触发SIGPIPE的信号;
3.socket使用非阻塞connect连接成功或者失败之后;
4.socket上有未处理的错误,此时我们可以通过getsockopt来读取和清除该错误。

网络程序中,select能处理的异常情况只有一种:socket上接受到带外数据

本文发布于:2024-01-31 09:40:27,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170666523027595.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:可读   条件   文件
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23