(1)linux中的文件描述符fd的合法范围是0或者一个正正数,不可能是一个负数。 (2)open返回的fd程序必须记录好,以后向这个文件的所有操作都要靠这个fd去对应这个文件,最后关闭文件时也需要fd去指定关闭这个文件。如果在我们关闭文件前fd丢掉了那就惨了,这个文件没法关闭了也没法读写了。 提醒 ...
分类:
系统相关 时间:
2018-02-26 15:15:08
阅读次数:
159
一、read/write 函数 read函数从打开的设备或文件中读取数据。 #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件 ...
分类:
其他好文 时间:
2018-02-26 15:10:21
阅读次数:
237
1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字。让套接字进行工作。避免套接字进入阻塞模式,进行无谓的等待。选择模型的核心的FD_SET集合和select函数。通过该函数,我们可以们判断套接字上是否存在数据,或者能否向一个套接字写入数据。 用 ...
一、epoll_create 创建一个epoll接口,size参数和select不同,不是fd+1? 需要注意的是:当创建好epoll后,它就会占用一个fd值,在linux /proc/id/fd/能看到这个fd的,所以使用完epoll后,必须close()关闭,否则可能导致耗尽fd。 二、epol ...
分类:
其他好文 时间:
2018-02-21 23:58:51
阅读次数:
320
pipe 函数 int pipe( int fd[2] ); 创建管道,半双工,字节流,容量默认65536字节。fd[0]用来读,fd[1]用来写。 可以用与父子进程间的无名管道,各自关闭一端。 int sockpair(int domain, int type, int protocol, int ...
分类:
其他好文 时间:
2018-02-21 17:07:48
阅读次数:
162
进程是通过文件描述符(file descriptor,fd)来访问文件的,每个进程最多能同时使用NR_OPEN个文件描述符,这个值在include/linux/limits.h中定义为1024。每一个进程用一个打开文件表files_struct来描述进程的文件描述符使用情况。每一个文件都有一个文件指 ...
分类:
系统相关 时间:
2018-02-13 20:57:31
阅读次数:
255
参考文章:https://www.metaswitch.com/blog/fd.io-takes-over-vpp FD.io旨在提供一个模块化、可扩展的用户态报文处理框架,能支持高吞吐量、低延迟、高资源利用率的IO服务。FD.IO范围:1.基础用户态IO处理框架(DPRE)。2.报文处理编程框架及 ...
分类:
其他好文 时间:
2018-02-12 18:38:26
阅读次数:
255
set(array('task_worker_num'=>4)); //投递异步任务 $serv->on('receive',function($serv,$fd,$from_id,$data){ $task_id=$serv->task($data); echo "异步ID:$task_id\n"... ...
分类:
其他好文 时间:
2018-02-11 14:52:13
阅读次数:
130
on('open',function($serv,$request){ var_dump($request); $serv->push($request->fd,"welcome \n"); }); //message 接收信息 $serv->on('message',function($serv,... ...
分类:
Web程序 时间:
2018-02-11 14:38:51
阅读次数:
172
on(string $event,$mixed $callback); /* * $serv:服务器信息 * $data:接收到的数据 * $fd:客户端信息 */ //监听数据接收的事件 $serv->on('packet',function($serv,$data,$fd){ //发送数据到相应... ...
分类:
其他好文 时间:
2018-02-11 10:48:48
阅读次数:
222