今天遇到了这个问题,之前找了半天原来是IO事件的socket描述符在epoll_ctl()处理之前关闭了。if(epoll_ctl(epollFd, EPOLL_CTL_DEL, ev->fd, &epv) fd, strerror(errno));在删除事件 epoll_ctl(kdpfd, EP...
分类:
其他好文 时间:
2014-08-12 18:18:34
阅读次数:
302
1、实现多线程方法:其实就是多个线程同时调用io_service::run for (int i = 0; i != m_nThreads; ++i) { boost::shared_ptr pTh(new boost::thread( boost::bind(&...
分类:
编程语言 时间:
2014-08-12 00:34:33
阅读次数:
1592
Linux Epoll介绍和程序实例1. Epoll是何方神圣?Epoll但是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select类似,事实上都I/O多路复用技术而已,并没有什么神奇的。事实上在Linux下设计并发网络程序,向来不缺少方法,...
分类:
系统相关 时间:
2014-08-12 00:01:23
阅读次数:
364
1.Echo网络库的编写 1.1 Echo网络库1.0 1.1.1 Echo网络库 1.0 框架分析 a)class InetAddress: 主要用来定义一个struct sockaddr_in 结构(用自定义端口号初始化),并提供获取这个结构体成员如IP、Port等的接口; ...
分类:
系统相关 时间:
2014-08-10 21:24:01
阅读次数:
421
参考:http://zyan.cc/nginx_php_v6/nginx相对于apache的优点:1.轻量级,同样的web 服务,比apache服务器占用更少的内存及资源2.抗并发,nginx在处理请求是异步非阻塞的(epoll),而apache 则是阻塞型的(select),在高并发下nginx ...
分类:
其他好文 时间:
2014-08-10 21:04:30
阅读次数:
227
Visual BCD Editor 编辑启动项BCOMPARE 文档对比Octave 3.6.4 类似matlab 开源IOCP&EPOLL 并发模型Understand 源码分析工具GraphLab 分布式图计算hostapd linux下无线热点工具Bochs 开源虚拟机
分类:
其他好文 时间:
2014-08-08 20:49:26
阅读次数:
260
Echo网络库概要说明源码分析使用方法概要说明Echo借鉴了大量muduo的代码,并对其进行简化。Echo体现了现代C++两大风格,一是事件回调,我们使用function/bind实现回调机制,用户只需要向其注册回调函数即可,必要时可以封装成class,二是采用智能指针进行资源管理,例如TcpCon...
分类:
其他好文 时间:
2014-08-08 20:47:26
阅读次数:
285
以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数是.....
分类:
其他好文 时间:
2014-08-07 22:43:15
阅读次数:
460
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为...
分类:
其他好文 时间:
2014-08-06 18:15:41
阅读次数:
326
EPOLLLT——水平触发EPOLLET——边缘触发epoll有EPOLLLT和EPOLLET两种触发模式,LT是默认的模式,ET是“高速”模式。LT模式下,只要这个fd还有数据可读,每次 epoll_wait都会返回它的事件,提醒用户程序去操作,而在ET(边缘触发)模式中,它只会提示一次,直到下次...
分类:
其他好文 时间:
2014-08-06 17:57:51
阅读次数:
231