日期:2014-05-16  浏览次数:20574 次

EPOLLHUP问题,麻烦高手回答下
菜鸟一只!,在写一个聊天室练手,服务端用的EPOLL ET 模式,现在遇到问题如下,如果客户端异常断线,那么服务器该如何检测到客户端断线了呢??想用EPOLLHUP来检测,每个新连接我都设置了EPOLLHUP 和 EPOLLERR事件,测试是这样的,我关闭了客户端,在关闭客户端时候没有去关闭socket,结果发现检测不到EPOLLHUP事件。

------解决方案--------------------
C/C++ code


       EPOLLRDHUP (since Linux 2.6.17)
              Stream socket peer closed connection, or shut down writing half of connection.  (This flag is especially useful for writing simple code  to
              detect peer shutdown when using Edge Triggered monitoring.)