epoll
文章平均质量分 81
linking530
这个作者很懒,什么都没留下…
展开
-
一个简短的epoll服务器示例, 监听5000个端口, 使用线程池[safedead.cublog.cn]
文章地址:http://www.cublog.cn/u/17999/showart.php?id=159057运行这个程序需要预先设置栈内存和文件描述符上限, 否则运行失败ulimit -n 16384ulimit -s 4096文件名:server.c编译: gcc server.c -Wall -O2 -pthread -o server程序源码如下(请自行编辑转载 2012-01-16 19:11:33 · 360 阅读 · 0 评论 -
select, poll和epoll的区别(转)
select()系统调用提供一个机制来实现同步多元I/O:#includesys/time.h>#include sys/types.h>#include unistd.h>int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct转载 2012-08-23 12:05:16 · 375 阅读 · 0 评论 -
epoll机制:epoll_create、epoll_ctl、epoll_wait、close(在epoll的ET模式下,read和write或send和recv当返回值<0且errno=EAGAIN
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define __FD_转载 2012-08-23 10:36:01 · 4140 阅读 · 0 评论 -
epoll模型的使用及其描述符耗尽问题的探讨
http://www.kuqin.com/article/23candcplusplus/813588.html每次接受新连接的时候,我监视了这几个事件。EPOLLIN | EPOLLET | EPOLLERR | EPOLLHUP | EPOLLPRI;每次有一批事件返回,经过统计 返回的一批fd数量=出错关闭的fd数量+由EPOLLIN转为EPOLLOUT的fd数量转载 2012-08-23 10:07:21 · 474 阅读 · 0 评论 -
Epoll Reactor模型的部分代码[选自gxc]
之前写过的一个Linux下Select模型也是采取类似的方法,在另外的线程里面使用循环来执行update.文章 经验实在太重要了:epoll的一些补充 提到几个Epoll的关键问题,这里借鉴作者的说法,记录一下,感谢作者的文章。默认使用的是ET模式,即,边沿触发,类似于电平触发,epoll中的边沿触发的意思是只对新到的数据进行通知,而内核缓冲区中如果是旧数据则不进行通知,所以在do转载 2012-01-17 12:05:52 · 702 阅读 · 0 评论 -
一些相关文章
进程服务器模型和线程服务器模型Linux下Epoll框架V1.0开发完毕Epoll Reactor模型的部分代码[选自gxc]下一步计划---为IOCP加上Zlib压缩类Epoll类的一些问题epoll精髓epoll学习笔记Linux 2.6内核中提高网络I/O性能的新方法-epollepoll写的一段文件上传程序epoll 基本介绍epoll《转载 2012-01-17 12:00:16 · 306 阅读 · 0 评论 -
linux epoll 问题小结
1,server端的fd不需要设置et模式我们在创建socket成功后会有个listenfd,listenfd = socket(AF_INET, SOCK_STREAM, 0)然后会把这个fd加入epoll wait队列中,网上很多没有经过验证的代码是这样写的:ev.data.fd = listenfd;ev.events=EPOLLIN|EPOLLET;epoll_ctl(转载 2012-01-17 11:38:22 · 496 阅读 · 0 评论 -
最简单的Epoll模型代码
该模型不包含设置客户端心跳,接收,发送Timeout,多线程,还有地址复用REUSE_ADDR。最近为了能够完成书中的Linux开发部分,在重写很多模型,包含SelectClient,SelectServer,EpollClient,EpollServer模型,还有最基本的简单模型,发现Linux中的API开发要比Windows易懂的多。另外依然有几个地方没有处理的很好,比如Event使用转载 2012-01-17 11:14:30 · 566 阅读 · 0 评论 -
收集的未经测试的Epoll模型代码[二]
/*------------------------------------------------------------------------------------------------- gcc -o epolld epoll.c -lpthread author: wyezl 2006.4.28 --------------------------------------------转载 2012-01-17 10:44:15 · 282 阅读 · 0 评论 -
Epoll的一个例子[入门]【From mote_li Blog】
昨天晚上照着这个例子在AS4上面编译了一下,竟然有错误,主要是errno的问题,下面我将例子稍微修改了一下,能编译通过!epoll用到的所有函数都是在头文件sys/epoll.h中声明的,下面简要说明所用到的数据结构和函数:所用到的数据结构view plainprint?typedef union epoll_data { vo转载 2012-01-16 19:02:59 · 393 阅读 · 0 评论 -
收集未经测试的Epoll模型代码<一>
#include #include #include #include #include #include #include #include #include #define MAXLINE 10 #define OPEN_MAX 100 #define LISTENQ 20 #define SERV_PORT 5555 #defi转载 2012-01-17 09:35:06 · 304 阅读 · 0 评论 -
SevenCat 封装的EPOLL 模型
#pragma once #include #include #include #include #include #include #include #include "log.h" #ifndef EPOLL_SIZE #define EPOLL_SIZE 4096 #define EPOLL_CONTEXT_SIZE (4096+256) #endi转载 2012-01-16 19:32:26 · 346 阅读 · 0 评论 -
Epoll模型代码
static int s_epfd;//epoll描述字 {//初始化epoll struct epoll_event ev; //设置epoll s_epfd = epoll_create(65535); {//这个过程可以循环以便加入多个LISTEN套接字进入epoll事件集合转载 2012-01-16 19:23:15 · 415 阅读 · 0 评论 -
mysql常用监控脚本命令列表
[java] view plaincopy#/bin/sh #检测mysql server是否正常提供服务 mysqladmin -u sky -ppwd -h localhost ping #获取mysql当前的几个状态值 mysqladmin -u sky -ppwd -h localhost status #获取数据库当前的连接信息 mys转载 2014-06-30 15:42:00 · 632 阅读 · 0 评论