epoll accept之后马上收到系统发来的连接断开事件

lixin_4055 2013-03-13 04:08:06
只有几个连接的时候没啥问题,但是当开启几百个连接之后,出现了上述问题,客户端连接后,服务端accpet正常,但是epoll马上会收到一个25号事件,也就是EPOLLERR|EPOLLHUP。这个时候客户端在断点,不可能断开连接。把所有客户端全部关闭之后再连接,问题依然存在。
...全文
122 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixin_4055 2013-03-14
  • 打赏
  • 举报
回复
修正一下,是ET模式。。。。不是LET模式
lixin_4055 2013-03-14
  • 打赏
  • 举报
回复
问题已解决,具体原因是因为因为使用了LET边沿触发模式,但是Accept的时候没有循环,导致大量并发连接时只accept了一个,此后有新连接进来又会触发一次accept,但是这个时候accept的是之前未处理的连接,而这个连接很有可能已经断开,因此就出现了上述问题

23,125

社区成员

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

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