use*_*799 20 linux networking epoll
你们能为我提供一个很好的示例代码,使用EPOLLHUP进行死对等处理吗?我知道这是一个检测用户断开连接但不确定如何在代码中使用它的信号.谢谢提前..
Dam*_*mon 36
您EPOLLRDHUP用来检测对等关闭,而不是EPOLLHUP(它表示套接字意外关闭,即通常是内部错误).
使用它非常简单,只是"或"带有任何其他标志的标志epoll_ctl.所以,例如,而不是EPOLLIN写EPOLLIN|EPOLLRDHUP.
之后epoll_wait,if(my_event.events & EPOLLRDHUP)如果对方关闭连接,则执行后跟任何您想要执行的操作(您可能希望关闭套接字).
请注意,从套接字读取时获得"零字节读取"结果也意味着另一端已关闭连接,因此您应该始终检查它,以避免令人讨厌的意外(FIN可能在您从EPOLLIN但在你打电话之前read,如果你处于ET模式,你将不会收到另一个通知).
| 归档时间: |
|
| 查看次数: |
18717 次 |
| 最近记录: |