Chinaunix首页 | 论坛 | 博客
  • 博客访问: 359396
  • 博文数量: 60
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 1138
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 16:18
个人简介

最多140个字

文章分类

全部博文(60)

文章存档

2016年(1)

2015年(34)

2014年(25)

分类: 网络与安全

2015-08-14 09:47:14

在网络编程中,下列情况socket可读:
    1,socket内核缓存区中字节数大于或等于其低水位标记SO_RCVLOWAT。
    2,socket通信的对方关闭连接。此时对该socket的读操作将返回0.
    3,监听socket上有新的连接请求。
    4,socket上有未处理的错误。
下列情况socket可写:
    1,socket内核缓存区中的可用字节数大于或等于其低水位标记SO_SNDLOWAT。
    2,socket的写操作被关闭(即:往一个读端关闭的socket连接中写数据)。对写操作被关闭的socket执行写操作将触发一个SIGPIPE信号。
    3,socket使用非阻塞connect连接成功或失败(超时)之后。
    4,socket上有未处理的错误。

以poll为例,当管道的读端关闭时,写端文件描述符上的POLLHUP事件将被触发;当socket连接被对方关闭时,socket上的POLLRDHUP事件将被触发。
阅读(3437) | 评论(0) | 转发(0) |
0

上一篇:select poll epoll

下一篇:IO复用/ECHO

给主人留下些什么吧!~~