码迷,mamicode.com
首页 >  
搜索关键字:fd    ( 1602个结果
【APUE学习笔记】dup和dup2用法
在了解dup用法之前,需要对linux的文件节点有一个认识。 内核有3个数据结构来表示进程打开的文件,dup是系统提供的一个API可以直接操作这三个数据结构之间的关系。 (1)每个进程在进程表当中都有一个记录项,记录项中包含一张表格,记录了所有当前进程打开的文件,可以将其想象成为一个key-value的映射关系,key为文件描述符fd,对于每个进程来说,fd从0开始向后排,value为指向文件...
分类:其他好文   时间:2014-09-09 18:20:19    阅读次数:220
Linux中对文件描述符的操作(FD_ZERO、FD_SET、FD_CLR、FD_ISSET
在Linux中,内核利用文件描述符(File Descriptor)即文件句柄,来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文...
分类:系统相关   时间:2014-09-09 13:55:08    阅读次数:297
FIFO管道探索历程
刚开始代码的实现如下:voidCreateFIFO(){if((mkfifo(FIFOPATH,O_CREAT|O_EXCL|O_RDWR)<0)&&(errno!=EEXIST)){printf(strerror(errno));}}intOpenFIFO(){fd=open(FIFOPATH,O_RDWR|O_NONBLOCK);returnfd;}觉得非常的不优雅,毕竟需要调用两个函数,而且写函数又有一..
分类:其他好文   时间:2014-09-08 10:59:37    阅读次数:499
关于select的一个死循环
#include #include #include #include int main(int argc, char *argv[]){ int maxfd; char buf[256]; fd_set rset; while(1){ FD_ZERO(&rse...
分类:其他好文   时间:2014-09-07 21:09:25    阅读次数:182
select的使用
select函数对数据结构fd_set进行操作,fd_set是一个bitmap,该集合由打开的文件描述符构成。对于管道而言,select是通过检查管道是否阻塞,来进行监听的。只要所监听的管道非阻塞,select就能立马获知,并将其在fd_set中的相应为置1。管道非阻塞只有两种情况,一种是客户端向管...
分类:其他好文   时间:2014-09-06 23:41:24    阅读次数:263
epoll使用具体解释(精髓)
epoll - I/O event notification facility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于...
分类:其他好文   时间:2014-09-06 22:28:44    阅读次数:442
项目中libevent几个问题
几个问题:1.libevent到底用的是select还是iocp,然后是如何突破64限制的typedef struct fd_set { u_int fd_count; /* how many are SET? */ SOCKET fd_...
分类:其他好文   时间:2014-09-05 14:15:41    阅读次数:191
select()2
只要接触过c/c++网路编程人都可能会知道select io 模式,网络书籍都说 fd_set {int num; SOCKET arr[64]} 有所限制,因为数组的长度只有64,那么超过64你就不能放,要么你就是用多线程分别实用select.。一些书籍通过改定义宏 使数组的长度变长,但也不实用,...
分类:其他好文   时间:2014-09-04 16:26:19    阅读次数:209
select模式
在很多比较各种网络模型的文章中,但凡提到select模型时,都会说select受限于轮询的套接字数量,这个数量也就是系统头文件中定义的FD_SETSIZE值(例如64)。但事实上这个算不上真的限制。C语言的偏方:在C语言的世界里存在一个关于结构体的偏门技巧,例如: typedef struct _s...
分类:其他好文   时间:2014-09-04 01:36:08    阅读次数:182
Socket网络编程--Libev库学习(2)
这一小节讲各个观察器(Watcher) 在libev下面watcher相当于EventHandler这么一个概念,通常里面会绑定fd回调函数以及我们需要关注的事件。 然后一旦触发事件之后会触发我们使用的回调函数,回调函数参数通常有reactor,watcher以及触发的事件。这里不打算重复文档...
分类:其他好文   时间:2014-09-04 01:24:07    阅读次数:300
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!