优于 select 的 epoll (I/O 复用)select 速度慢的原因
调用select后针对所有文件描述符的循环
每次调用函数时都需要向该函数传递监视对象信息
select并不是把发生变化的文件描述符单独集中到一起,而是通过观察作为监视对象的fd_set函数的变化,因此不能避免对所有监视对象的循环语句。而且,监视对象变量会发生变化,在调用select函数之前要复制并保存原有信息,并在每次调...
分类:
其他好文 时间:
2015-03-17 15:48:05
阅读次数:
159
头文件:/*AccordingtoPOSIX.1-2001*/
#include<sys/select.h>
/*Accordingtoearlierstandards*/
#include<sys/time.h>
#include<sys/types.h>
#include<unistd.h>接口:intselect(intnfds,fd_set*readfds,fd_set*writefds,
fd_set*exceptfds,structti..
分类:
系统相关 时间:
2015-03-05 17:23:38
阅读次数:
238
http://blog.csdn.net/summerhust/article/details/18260117 select用到了fd_set结构,此处有一个FD_SETSIZE决定fd_set的容量,FD_SETSIZE默认1024,可以通过ulimit -n或者setrlimit函数修改之。 ...
分类:
其他好文 时间:
2015-02-16 15:31:55
阅读次数:
156
总体上来说select函数的作用:
确定一个或多个套接口的状态,本函数用于确定一个或多个套接口的状态,对每一个套接口,调用者可查询它的可读性、可写性及错误状态信息,用fd_set结构来表示一组等待检查的套接口,在调用返回时,这个结构存有满足一定条件的套接口组的子集,并且select()返回满足条件的套接口的数目。
简单来说select用来填充一组可用的socket句柄,当满足下列之...
1.加密库cryptopp编译不过,错误fd_set 不认识解决:http://morgwai.pl/ndkTutorial/The last problem is that Crypto++ seems to rely on implicit inclusion of header file co...
分类:
系统相关 时间:
2015-01-22 10:52:13
阅读次数:
1076
Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD...
分类:
其他好文 时间:
2015-01-21 21:53:03
阅读次数:
233
我们直到上层对文件操作结合select与poll可以实现阻塞操作,那么究竟是如何实现的呢?
select接口:
int select(int nfds, fd_set *readset, fd_set *writeset,
fd_set *exceptset, struct timeval *timeout);
其中:
nf...
分类:
系统相关 时间:
2015-01-20 20:39:20
阅读次数:
559
select、poll、epoll都是IO多路复用的机制,但是他们的机制有很大的区别
1、select
select机制刚开始的时候,需要把fd_set从用户空间拷贝到内核空间,并且检测的fd数是有限制的,由FD_SETSIZE设置,一般是1024。
检测的时候,根据timeout,遍历fd_set表,把活跃的fd(可读写或者错误),拷贝到用户空间,
再在用户空间依次处理相关的fd。...
分类:
系统相关 时间:
2015-01-20 20:35:55
阅读次数:
1199
Select在Socket编程中还是比较重要的,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。
Select的函数格式(Unix系统下的伯克利socket编程,和windows下的略有区别,
体现两个方面:
一是select函数的第一个参数,在windows下可以忽略,但在linux下必须设为最大文件描述符加1;
二是结构fd_set在两个系统里定义不一样)
/*参...
分类:
其他好文 时间:
2015-01-12 14:46:55
阅读次数:
204
linux socket中select()函数以及FD_ZERO FD_SET FD_CLR FD_ISSET...
分类:
系统相关 时间:
2015-01-10 15:15:11
阅读次数:
250