Posted on 2010-11-20 22:59
S.l.e!ep.¢% 阅读(631)
评论(0) 编辑 收藏 引用 所属分类:
epoll
关于epoll检测异步连接的方法
2009年12月09日 星期三 11:28
因为epoll本身没有明确提出当异步connect成功之后会返回什么样的信号,那就测试,试验呗。 1,当本地还没调用connect函数,却将套接字送交epoll检测,epoll会产生一次 EPOLLOUT | EPOLLHUP, 也就是产生一个值为0x14的events. 2,当本地connect事件发生了,但建立连接失败,则epoll会产生一次 EPOLLIN | EPOLLERR | EPOLLHUP, 也就是一个值为0x19的events. 3,当connect函数也调用了,而且连接也顺利建立了,则epoll会产生一次 EPOLLOUT, 值为0x4,即表明套接字已经可写。 因而,要判断连接建立,只需要判断该套接字有可写属性且仅有可写属性即可。 PS:本例中使用的epoll采用ET模式。
|