码迷,mamicode.com
首页 >  
搜索关键字:fd-set    ( 162个结果
网络编程API-下 (I/O复用函数)
IO复用是Linux中的IO模型之一,IO复用就是进程预先告诉内核需要监视的IO条件,使得内核一旦发现进程指定的一个或多个IO条件就绪,就通过进程进程处理,从而不会在单个IO上阻塞了。Linux中,提供了select、poll、epoll三种接口函数来实现IO复用。 1、select函数 #include #include int select(int nfds, fd_set *...
分类:Windows程序   时间:2015-06-26 13:32:38    阅读次数:236
IO的多路复用和信号驱动
Linux为多路复用IO提供了较多的接口,有select(),pselect(),poll()的方式,继承自BSD和System V 两大派系。 select模型比较简单,“轮询”检测fd_set的状态,然后再采取相应的措施。 信号驱动模型有必要仔细研究一下,一般有如下步骤:设置安装函数,信...
分类:其他好文   时间:2015-06-14 01:48:48    阅读次数:225
国嵌内核驱动进阶班-7-4(Poll设备方法)
Poll 与系统select调用相对应 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)Poll设备方法完成流程...
分类:其他好文   时间:2015-06-04 06:08:17    阅读次数:114
Linux内核源代码情景分析-系统调用select以及异步输入/输出
一、系统调用select,把原来当前进程的单睡眠等待状态变成了现在的多睡眠等待状态。具体请看代码,select在内核中的实现为sys_select,代码如下:asmlinkage long sys_select(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp)//inp,outp,exp是关于已打开文件的位图,t...
分类:系统相关   时间:2015-05-08 09:30:16    阅读次数:149
程序休眠问题的C代码实现
问题描述编写代码用于实现程序的休眠,例如,如果要求程序休眠10秒钟,那么在这10秒内程序要一直等待,而不执行任何操作。 解决思路在Linux下,有一个select函数用于实现进程的阻塞,该函数的原型是:int select(int n, fd_set *readfds,fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);可以用...
分类:其他好文   时间:2015-04-30 14:15:47    阅读次数:121
linux 下select的1024限制
1024限定的不只是监听的个数,还是文件描述符的最大值,注意,是值 今天编写模拟客户端程序进行测试,使用了select。之前一直错记成1024是对fd_set里fd个数的限制(我的程序是每次select一个fd,所以自我感觉没问题),结果在socket连接个数到达1050~1100时,总发生段错误。...
分类:系统相关   时间:2015-04-27 15:12:47    阅读次数:347
Linux下基于select的socket通信
select函数介绍: int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); /*参数列表 int maxfdp是一个整数值,是指集合中所有文件描述符的范围,即所有文件描述符的最大值加1,不能错!在Windows中这个参数的值无所谓,可以设...
分类:系统相关   时间:2015-04-16 19:55:21    阅读次数:211
fd_set的具体实现过程
fd_set的实现详细原理 define FD_SETSIZE 1024 typedef unsigned long fd_mask; #define NBBY 8 /* number of bits in a byte */ #define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mas...
分类:其他好文   时间:2015-04-09 17:29:53    阅读次数:149
Unix网络编程(七)使用select来实现服务器的并发
在上一文中 http://blog.csdn.net/michael_kong_nju/article/details/44887411 我们讨论了I/O复用技术,即如何在一个进程里监测多个I/O, 刚开始接触还有点混论,但是现在想想,其实原理很简单,或者说内核设计者的想法很直接,就是以前我一个进程一次只能处理一个I/O,现在我通过一个fd_set结构体来实现将多个I/O的描述符放在一个类似于数组...
分类:其他好文   时间:2015-04-07 00:46:55    阅读次数:743
关于linux的几道题,你能回答几个?--回答14-20题
14.select和poll的区别?Poll和epoll的区别?   (1)select和poll的区别:(参考:http://blog.csdn.net/mituan2008/article/details/6695177) 二者根本的不同是:select()的fd_set是一个位掩码(bit mask),因此fd_set有固定的长度。内核在被编译的时候,可以不受这个长度的限制,因为sel...
分类:系统相关   时间:2015-03-19 00:56:12    阅读次数:279
162条   上一页 1 ... 9 10 11 12 13 ... 17 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!