学习epoll

这几天看了看httpsqs的源码和http://blog.csdn.net/sparkliang里面的libevent源码分析,感觉写的不错

以前没有学过epoll的编程,这几天按照http://blog.csdn.net/sparkliang/article/details/4770655学习了一下,感觉不错,按照里面的代码敲了一下,但是用telnet一连,

报Connection closed by foreign host,网上搜到的都不起作用,通过调试发现其实是可以连上的,但是不能reveice数据,why?

发现accept返回的是0,然后就把链接断了。这样网上一搜,原来是close(0)照成的,看了他的代码,原来在做超时的时候没有做判断,在里面加一句,果然ok了。

if(duration>=60){
       if(g_Events[checkPos].fd==0){continue;}   //add here
       close(g_Events[checkPos].fd);
       printf("[fd=%d] time [%d--%d].\n",g_Events[checkPos].fd,g_Events[checkPos].last_active,now);
       EventDel(g_epollFd,&g_Events[checkPos]);
}

例子虽然有些小问题,但是很不错,个人觉得代码结构框架很不错,感谢那位博主,继续学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值