epoll模型 客户端只连接不发送任何数据能收到EPOLLIN事件?

yuyunliuhen 2013-01-02 10:54:33
RT,大量客户端连接,只connect了,没有发送数据,按理只会有 events_[__n].data.fd == listenfd_, 怎么会有events_[__n].data.event == EPOLLIN呢?是否我理解上有问题!
谢谢!
...全文
351 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyunliuhen 2013-01-09
  • 打赏
  • 举报
回复
嗯 明白了 谢谢两位
swq1982 2013-01-03
  • 打赏
  • 举报
回复
由于底层通信socket用epoll来管理所有的链接,用epoll_wait来等待所有的事件触发,然后针对不同的事件、不同的socket做不同的处理。虽然客户端只是连接,没有发送数据,但当对方主动关闭了socket的时候会触发一个EPOLLIN事件的。这样做的好处是主方可以对这个socket做响应的处理。例如:以这个socket为关键字关联了一些其他的数据,当socket被关闭了之后需要释放这些数据所占用的内存。
qq120848369 2013-01-03
  • 打赏
  • 举报
回复
对端close,本端将会读到EOF,表现为read返回0,触发可读事件。

23,215

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧