首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >epoll ET,我应该在侦听套接字上订阅什么事件?

epoll ET,我应该在侦听套接字上订阅什么事件?
EN

Stack Overflow用户
提问于 2015-12-29 21:14:21
回答 1查看 291关注 0票数 1

我有一个fd:

代码语言:javascript
复制
socket(AF_INET6, SOCK_STREAM, ...)
bind(fd, ...)
listen(fd, ...)

我有一个epoll实例。我需要知道,我应该通过epoll_ctl订阅哪些活动?我需要边缘触发模式。

我有那些标志atm:EPOLLET | EPOLLIN

我应该订阅EPOLLRDHUPEPOLLOUTEPOLLPRI吗?

我应该处理EPOLLHUP吗,EPOLLERR?为什么会发生这种情况?

EN

回答 1

Stack Overflow用户

发布于 2018-02-05 18:57:01

您特别询问了用于接受传入连接请求的被动套接字。man epoll中的示例没有为侦听套接字订阅EPOLLRDHUPEPOLLOUTEPOLLPRI,这是可以理解的:

  • EPOLLOUT的意思是:现在写入将不会阻塞。-在应用于连接的被动socket.
  • EPOLLRDHUP上没有写入。在被动socket.
  • EPOLLPRI上没有连接:有紧急数据要读取。被动套接字上没有紧急数据。

此外,该示例不处理侦听套接字的EPOLLHUPEPOLLERR。这至少对EPOLLHUP来说是可以理解的,因为这只适用于输出。我不知道被动套接字会返回EPOLLERR的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34511868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档