免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wyezl

epoll模型的使用及其描述符耗尽问题的探讨 [复制链接]

论坛徽章:
0
发表于 2010-06-14 17:37 |显示全部楼层
楼主最后改成啥样了?

强烈要求分享啊;

大家恢复了这么多,根本不知道楼主干了啥


论坛徽章:
0
发表于 2010-06-15 03:25 |显示全部楼层
新手写server就是这样的,熟悉后就会考虑全面了。

论坛徽章:
0
发表于 2010-06-15 20:59 |显示全部楼层
听说epoll有被另外一个函数取代的趋势。

论坛徽章:
0
发表于 2012-05-29 11:35 |显示全部楼层
回复 1# wyezl
楼主最后的解决方案是什么,能否贴出来分享下??


   

论坛徽章:
0
发表于 2012-10-16 12:47 |显示全部楼层
有可能是client connect后由于某种原因没有send,,导致了后端server不断的accept,但没有触发epollin或epollout,导致没有收回fd并close

论坛徽章:
0
发表于 2012-10-16 13:13 |显示全部楼层
现有的各种epoll模型,好像都没有考虑耗句标问题或算是一种攻击,,也就是找一堆肉鸡不断connect,而不发起数据,马上accept后端句标就会溢出

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2012-10-21 14:54 |显示全部楼层
本帖最后由 yulihua49 于 2012-10-21 15:04 编辑
wyezl 发表于 2006-08-18 10:39
每次接受新连接的时候,我监视了这几个事件。

EPOLLIN | EPOLLET |  EPOLLERR | EPOLLHUP | EPOLLPRI;

总之,fd耗尽是你程序的问题,与epoll无关。
看了你的标题,吓我一跳,以为epoll有bug呢。
用了epoll好几年了,没发现丢fd。

如下事项:
accept必须判定成功才能提交epoll;
提交给eopll的fd,必须设置超时。
有问题的fd要关闭,并从epoll中删除。

抗攻击也是你的责任,与epoll无关。
攻击,往往不能完成全部逻辑,对于那些只进行了部分逻辑就没有了下文的连接,通常是超时后T出去。

所以,研究“epoll丢失fd”是个伪命题。
研究“如何正确使用epoll,防止丢fd”还可以。

最近使用solares的port,与epoll相似的机制,比epoll使用简单,是否可以代替epoll?

论坛徽章:
0
发表于 2014-01-10 15:04 |显示全部楼层
楼上都很强悍呀,这个问题讨论的挺久的了

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2014-01-13 10:15 |显示全部楼层
星之孩子 发表于 2006-08-22 10:06
为何你用epoll还要用多线程
感觉你这个模型怪怪的

不怪。等于是一个线程的线程池。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP