ChinaUnix.net
相关文章推荐:

epoll 压力测试方法

在阻塞型套接口情况下用不用设置epollET 就是这个地方 ev.events = epollIN | epollET的时候:em16: :em16:

by fcloudf - C/C++ - 2007-09-06 13:34:14 阅读(1745) 回复(8)

相关讨论

select用线程池来轮循看起来理所应当. 但要想让epoll也可以用多线程来轮循..应该怎样实现?

by cookis - C/C++ - 2011-04-09 16:39:48 阅读(12184) 回复(22)

我认为 epoll 可以看作一个服务。 当逻辑thread 需要发起连接的时候,我们可以用消息队列的形式 将消息传给epoll 服务。 当epoll 开始处理队列里面的请求 有的可能是 读某个fd 的操作, 有的是写操作。 有的是删除, 有的是新添加新fd. 当队列里面处理完以后开始 epoll_wait 获取出event. 此时我们可以直接进行read 和write 操作。 并将取到的内容 放到另一个消息队列里面去。 逻辑thread 处理这些消息。 当需要断开的时候,由...

by benjiam - C/C++ - 2009-06-22 11:50:35 阅读(4485) 回复(23)

正如我昨天在“Linux下各类TCP网络服务器的实现源代码”( http://zhoulifa.bokee.com/5345930.html )一文中提到的那样,I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。 感谢chinaunix.net上朋友safedead( http://bbs.chinaunix.net/viewpro.php?uid=407631 )提醒,我今天仔细研究了一下,证实了在2.6内核中的新的I/O技术epoll。 1、为什么select是落后的? 首先,在Linux内核中,select所用到的FD_...

网络技术

by sss0213 - 网络技术文档中心 - 2009-01-09 16:47:16 阅读(1766) 回复(0)

Linux 2.6内核中提高网络I/O性能的新方法epoll 正如我昨天在“Linux下各类TCP网络服务器的实现源代码”( http://zhoulifa.bokee.com/5345930.html )一文中提到的那样,I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。 感谢chinaunix.net上朋友safedead( http://bbs.chinaunix.net/viewpro.php?uid=407631 )提醒,我今天仔细研究了一下,证实了在2.6内核中的新的I/O技术epoll。 1、为什么select是...

by jiablog - 网络技术文档中心 - 2009-01-11 00:59:06 阅读(1947) 回复(0)

发现epoll 有个问题, 连接上后,客户端连续发送两个请求,epoll 只检测到一个可读事件! 郁闷, 如果客户端是多线程,有可能同时向同一个socket发送消息,这样服务端这边的epoll就只检测到一个可读事件, 有啥办法没。 对于服务端创建的那个监听socket 可以用 while(1) { accept(); ...

by 齐得龙强更强 - C/C++ - 2009-08-24 22:30:17 阅读(7523) 回复(13)

epoll_wait函数的返回值 是不是就是poll函数中的参数 nfds?

by debuger - C/C++ - 2008-10-28 16:49:20 阅读(1366) 回复(2)

server端: ev.data.fd=connfd; ev.events=epollIN|epollOUT|epollET; epoll_ctl(epfd,epoll_CTL_ADD,connfd,&ev); while(1) { nfds=epoll_wait(epfd,events,20,500); for(i=0;i<=nfds;i++) { if(events.events&epollIN) { recv(events.data.fd,line,5,0); ......... } else if(events.events&epollOUT) { do_process(); } ...

by chenzhanyiczy - C/C++ - 2009-02-04 11:11:37 阅读(3006) 回复(18)

首先引用一个服务器端 epoll 的实例。原帖地址:http://blog.chinaunix.net/u/16292/showart_1844376.html [/code] #include #include #include epoll.h> #include #include #include #include #include #include using namespace std; #define MAXLINE 5 #define OPEN_MAX 100 #define LISTENQ 20 #define SERV_PORT ...

by wzw19191 - C/C++ - 2009-06-22 09:33:37 阅读(3684) 回复(10)

epoll的ET模式下,有时会发生如下的问题 1. epoll触发FD=A的事件 。 2.处理FD=A的事件并销毁A(即epoll_ctl_del(A)并close(A) ) 。 3.epoll再次触发FD=A的事件 。 如果这时候对象已经被删除或被重用,程序就会出现问题 。 哪位大侠解释下,不胜感激。

by lxyfirst - C/C++ - 2009-05-14 22:13:36 阅读(3280) 回复(7)

服务器有很多客户端连入, 如果一个客户端10秒钟内没发送任何数据, 服务器就关闭链接。 但是怎样让epoll响应SO_RCVTIMEO, 或者有没有啥其它好办法实现这个功能? 我目前想到的方法是用两个线程, 一个epoll, 另一个不停地扫描所有的链接。

by koolcoy - C/C++ - 2011-09-23 13:28:36 阅读(6820) 回复(15)