这几天看了看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]);
}
例子虽然有些小问题,但是很不错,个人觉得代码结构框架很不错,感谢那位博主,继续学习。