如何解决epoll最好的检测用户断开连接的方法
| 我正在使用epoll进行网络编程。我想知道检测用户断开连接的最佳方法。现在,我使用带有超时的select来查看接收缓冲区中是否有信号,并且在一定时间内没有信号,然后关闭套接字连接。 我认为可能还有其他更适合epoll的东西,而不是使用select。 提前致谢..解决方法
我认为可能还有其他更适合epoll的东西,而不是使用select。
不,那里没有。如果您需要发现一个不活动或已死的客户端,则必须自己进行操作。
(例如,向他们发送某种形式的心跳消息,并查看它们是否在超时之内做出响应/错误,或者按照您已经在做的事情进行操作,并在闲置一段时间后使它们超时。)
, 您仍然可以使用epoll,并在epoll_wait中使用timeout参数来检测超时。
如果您有TCP会话,并且想检测远程对等方何时关闭连接,请注册接收
EPOLLRDHUP
事件,或者可以通过在接收到EPOLLIN
事件时获取getting1ѭ并尝试从关闭状态读取(非阻塞)来进行检测插座。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。