I/O事件

作者: wiseAaron | 来源:发表于2016-11-14 14:44 被阅读69次

    下列情况socket可读:

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

    下列情况socket可写:

    1. socket内核发送缓冲区中的可用字节数大于或者等于其低水位标记SO_SNDLOWAT。
    2. socket的写操作被关闭。对写操作被关闭的socket执行写操作将处罚一个SIGPIPE信号。
    3. socket使用非阻塞connect连接成功或者失败(超时)之后。
    4. socket上有未处理的错误。此时我们可以使用getsockopt来读取和清除该错误。

    相关文章

      网友评论

          本文标题:I/O事件

          本文链接:https://www.haomeiwen.com/subject/wwbcpttx.html