Chinaunix首页 | 论坛 | 博客
  • 博客访问: 216874
  • 博文数量: 38
  • 博客积分: 2060
  • 博客等级: 大尉
  • 技术积分: 388
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-17 10:10
文章分类

全部博文(38)

文章存档

2011年(1)

2009年(37)

我的朋友

分类: LINUX

2009-07-17 20:10:44

在涉及套接口的I/O操作上设置超时通常有三个方法:
  • 调用alarm,该方法涉及到信号处理,有可能扰乱进程中现有的alarm调用。
  • 在select中阻塞等待,select有可随意设置的超时。
  • 采用SO_RCVTIMEO和SO_SNDTIMEO选项。

非阻塞的connect:

非阻塞的connect主要有以下用途:

  • 我们可以把三路握手迭合在其他处理上。说白了就是在握手期间我们还可以干点其他的,不用傻等。
  • 我们可以采用该技术同时建立多个连接。
  • 既然使用select等待连接的建立,  连接的超时时间可以由我们自行控制。

需要处理的一些细节:

  • 我们必须处理connect连接立刻建立的情况。
  • 通常连接建立成功,该描述字可写。失败时即可读又可写。
阅读(1944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~