码迷,mamicode.com
首页 >  
搜索关键字:epoll    ( 1282个结果
kqueue示例
网络服务器通常都使用epoll进行异步IO处理,而开发者通常使用mac,为了方便开发,我把自己的handy库移植到了mac平台上。移植过程中,网上居然没有搜到kqueue的使用例子,让我惊讶不已。为了让大家不用像我一样再次花费大力气搞定kqueue,我整理了一个简单清晰可运行的kqueue例子,供大家参考。 kqueue一共有几个函数:int kqueue(void); //类似epoll_cr...
分类:其他好文   时间:2015-07-16 11:43:18    阅读次数:130
IO复用_epoll函数
由于poll()和select()的局限,2.6内核以上引用了event poll机制(就是说的epoll),虽然比前2个实现复杂得多,epoll解决了它们共有的基本性能问题,并增加了新的特性。 poll()和select()每次调用的时候,都需要所有被监听的文件的描述符。内核必须遍历所有被监...
分类:其他好文   时间:2015-07-16 02:04:47    阅读次数:142
epoll原理简析
1.使用简单:只有4个api函数:epoll_create() epoll_ctl() epoll_wait()个close() 2.支持大规模的socket连接:由于一个socket连接在epoll中是用一个FD(文件描述符)来表示的,所以epoll能支持最大并发连接的数量与linux能打开最大文件数量有关(或者说与内存有关) 3.高效的内存使用策略: 1).当epoll创建的时候,也就是调用epoll_create() 的函数后,会在内核中开辟一定内存空间(和epoll_create()中参数有...
分类:其他好文   时间:2015-07-13 12:16:45    阅读次数:116
libcurl原理解析(1) - 引言
1.引言 在爱立信最近参与的项目是一个数据转发程序,采用http协议。主要使用到了epoll与libcurl这两种技术。本人负责的是里边的传输模块,也是项目的主要模块。刚好使用到了libcurl这个库,并且用它与epoll进行结合。所以基本上从开始的架构设计,到开发,到性能调试,bug fix,基本贯穿了整个项目开发周期。限于开发进度要求,一直都只是用用libcurl的API,偶尔碰到难题时,会...
分类:Web程序   时间:2015-07-13 06:38:00    阅读次数:1510
select、poll、epoll之间的区别总结[整理]
select、poll、epoll之间的区别总结[整理] select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/....
分类:其他好文   时间:2015-07-13 06:27:57    阅读次数:104
GNU Linux中的SO_RCVLOWAT和SO_SNDLOWAT说明
SO_RCVLOWAT SO_SNDLOWAT 每个套接口都有一个接收低潮限度和一个发送低潮限度。 接收低潮限度:对于TCP套接口而言,接收缓冲区中的数据必须达到规定数量,内核才通知进程“可读”。比如触发select或者epoll,返回“套接口可读”。 发送低潮限度:对于TCP套接口而言,和接收低潮限度一个道理。 理解接收低潮限度:如果应用程序没有调用recv()去读取socke...
分类:系统相关   时间:2015-07-12 21:44:57    阅读次数:279
select,poll,epoll之api笔记
参考:http://www.cnblogs.com/Anker/p/3265058.htmlselect /* According to POSIX.1-2001 */ #include /* According to earlier standards */ ...
分类:Windows程序   时间:2015-07-12 15:40:07    阅读次数:241
[转载] 理解 epoll 的事件触发机制
原文:http://weibo.com/p/1001603862394207076573?sudaref=weibo.comepoll的I/O事件触发方式有两种模式:ET(Edge Triggered)和LT(Level Triggered)。这个触发模式其实是events(事件)的属性,该属性是和...
分类:其他好文   时间:2015-07-11 10:28:05    阅读次数:95
基于c++11新标准开发一个支持多线程高并发的网络库
背景         新的c++11标准出后,c++语法得到了很多的扩展,比起以往任何时候都要灵活和高效,提高了程序编码的效率,为软件开发人员节省了不少的时间。 之前我也写过基于ACE的网络服务器框架,但ACE毕竟有些臃肿,内部对象关系错综复杂,容易给人造成只见树木不见森林的错觉。 所以打算用c++11开发一个较为简洁,高效,支持高并发的网络库。 开源         花了两三周,终...
分类:编程语言   时间:2015-07-09 19:59:33    阅读次数:253
Nginx事件处理中的connection和read、write事件的关联
Nginx事件处理中的connection和read、write事件的关联: 在Nginx代码中经常看到rev = c->read;ngx_handle_read_event(rev, 0);这样的操作,那么rev是什么呢? 在ngx_epoll_add_event中的ngx_connection_t *c = ev->data;中的ev->data又是什么内容呢? 其实这一...
分类:其他好文   时间:2015-07-08 21:01:57    阅读次数:113
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!