ChinaUnix.net
相关文章推荐:

epoll 支持普通文件

使用了epoll如下程序: int file_fd = -1; struct epoll_event event; int epoll_fd = 0; epoll_fd = epoll_create(256); if (epoll_fd < 0) { return -1; } file_fd = open("a", O_RDONLY | O_NONBLOCK); if (file_fd < 0) { return -1; } set_non_blocking(file_fd); event.data.fd = ...

by ericdhs - C/C++ - 2008-11-04 17:03:11 阅读(3725) 回复(6)

相关讨论

如何知道自己的Linux是否支持epoll?

by iw1210 - C/C++ - 2013-02-28 18:09:49 阅读(1878) 回复(1)

我最近在网上找了一个程序后改写成自己的程序!以前用进程模型一个客户连接进来后就fork一个,然后父进程把ACCEPT的描述符关闭。 这样每个进程都有自己的独立描述符!那么就不会受到1024个文件描述符的限制!但是,进程创建与进程调度还有内存的消耗系统是吃不消的!后来我就到网上找了一个用epoll与线程的模型后自己改了一下!后来发现在一个很大的BUG,就是这个模型最多只可以有1024个连接就挂掉了! 我把代码上传到附件!大家...

by raygtr - Linux环境编程 - 2009-10-14 17:57:55 阅读(3039) 回复(4)

[QUOTE] zzz@dev:~/rubbish/epoll$ make epoller g++ epoller.cpp -o epoller /tmp/ccIFLEgp.o(.text+0x10c): In function `main': : warning: warning: epoll_create is not implemented and will always fail /tmp/ccIFLEgp.o(.text+0x167): In function `main': : warning: warning: epoll_ctl is not implemented and will always fail /tmp/ccIFLEgp.o(.text+0x213): In function `main': : warning: warning: epoll_wa...

by tsinghyT - C/C++ - 2006-08-18 15:17:09 阅读(1594) 回复(3)

是这样的,我想看一下epoll在linux内核中是怎样实现的,然后用grep查找相关的源代码,但只能找到头文件,硬是找不到相关的实现原理。 [quote] /linux/syscalls.h: asmlinkage long sys_epoll_create (int size); //... [/quote] 请问,怎没有实现的C文件呢?

by disheng727 - C/C++ - 2008-11-06 08:40:35 阅读(2792) 回复(9)

本帖最后由 linux_c_py_php 于 2013-02-21 17:38 编辑 程序在论坛众亲友的给力指导下, 在公司内核部门的指导之下, 长连接性能最终达到了50万qps, 短连接性能最终达到了7万qps, 测试机器CPU为12核心, 64MB内存, 测试环境为单机lo网口. 程序基于epollepollONESHOT选项, 充分利用了epoll的线程安全特性, 通过独立的监听线程最大化连接建立速率, 通过线程池配合epoll简易的实现了Leader-Follower的程序结构, 对于各类业务逻...

by linux_c_py_php - C/C++ - 2016-04-03 20:08:35 阅读(50212) 回复(262)

大家有没有遇到epoll_wait()一次返回的事件里有相同的events,就是events.data.fd=events[j].data.fd (i!=j), 我测试的是一秒大概5000个tcp通信

by edward_35 - C/C++ - 2011-09-03 17:31:47 阅读(2185) 回复(5)

各位有没有linux 下 epoll 编程方面的书籍啊?关于C 或者 C++ 的!

by RubenLung - C/C++ - 2010-03-01 18:41:37 阅读(1567) 回复(6)

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 阅读(1946) 回复(0)

为什么epoll的边缘触发模式只能应用于非阻塞的文件描述符上? 网上看过一些解释,说如果用在阻塞的文件描述符上可能会在某处阻塞,导致事件循环不能继续下去? 我就有点不明白了,当epoll_wait()返回时,应该是内核缓冲区就有了数据,不会导致阻塞啊? 那位高手给解释一下?

by ninjai - Linux环境编程 - 2011-06-23 12:42:23 阅读(6057) 回复(4)

epoll刚开始收包的时候正常。 收了一会以后一直阻塞epoll_wait这边。 我已经做了 struct epoll_event ev; ev.data.fd = client_socket; ev.events = epollIN|epollET; if (epoll_ctl(epfd, epoll_CTL_MOD, client_socket, &ev)) { perror("error1:"); exit(0); }

epollwait

by youzlm - C/C++ - 2010-12-03 14:04:22 阅读(3247) 回复(4)