3.1 引言术语不带缓冲指的是每个read和write都调用内核中的一个系统调用。这些不带缓冲的I/O函数不是ISO C的组成部分,但是,它们是POSIX.1和Single UNIX Specification的组成部分3.2 文件描述符UNIX系统shell使用文件描述符0与进程的标准输入相关联、...
分类:
其他好文 时间:
2014-07-13 08:11:13
阅读次数:
245
Python服务器开发三:Socketsocket是操作系统中I/O的延续,它可以使进程和机器之间的通信成为可能。socket可以看成一个标准的文件描述符。不同的是文件需要用open()函数打开,而socket用socket()函数建立.recv()、send()函数和read()、write()函...
分类:
编程语言 时间:
2014-07-09 23:37:56
阅读次数:
284
1 /************************************************************************* 2 > File Name: pass_fd.c 3 > Author:Monica 4 > Mail:lili...
分类:
其他好文 时间:
2014-07-08 21:56:53
阅读次数:
259
套接字是通信端点的抽象。文件描述符用open函数创建,而套接字描述符用socket函数创建。socket函数原型如下:
int socket(int domain, int type, int protocol);
// 返回值:成功返回套接字描述符,失败返回-1
domain域确定通信特性,不同的域表示地址的格式不同,表示域的常数以AF开头,表示地址族(address family)...
分类:
系统相关 时间:
2014-07-08 16:34:18
阅读次数:
333
一.epoll概述epoll是linux下的一个系统调用,用来监听大量文件描述符并对其上的触发事件进行处理。它是select/poll的增强版本,也是linux下多路复用io最常用的接口。要理解epoll是什么,首先得清楚什么是多路复用io。用户进行io操作需要经过内核,而如果所请求的io目前不满足...
分类:
其他好文 时间:
2014-07-08 00:50:02
阅读次数:
276
一、打开或创建一个文件
#include
int open(const char *pathname, int oflag, .../*mode_t mode*/);
返回值:若成功则返回文件描述符,若出错则返回-1
oflag选项:
O_RDONLY
O_WRONLY
O_RDWR
以上三个常量中必须指定一个,且只能指定一个。
以下常量都是可选的:
O_AP...
分类:
其他好文 时间:
2014-07-06 12:17:24
阅读次数:
158
最近由于公司在做数字电视,播放器和模块由供应商打包一起卖,驱动调能了,可是播放器要硬件解码,和平台差异,原厂又没有相关文档,就自己试着看了一个系统的播放器流程,顺便整理了一下,也方便以后查询,希望对播放器硬解码的开发能起到点作用。由于对视频也不了解,所以难免有不少错误,欢迎高手指导。
1: 由文件或者设备来创建一个dataSource(DataSource) (其中可以是文件描述符fd, u...
分类:
移动开发 时间:
2014-07-03 13:31:45
阅读次数:
251
??
IO复用
I/O复用使得程序能同时监听多个文件描述符,通常网络程序在下列情况下需要使用I/O复用技术:
客户端程序要同时处理多个socket
客户端程序要同时处理用户输入和网络连接
TCP服务器要同时处理监听socket和连接socket,这是I/O复用使用最多的场合
服务器要同时处理TCP请求和UDP请求。比如本章将要讨论的会社服...
分类:
系统相关 时间:
2014-07-02 08:35:51
阅读次数:
399
高级I/O函数
pipe函数
pipe函数用于创建一个管道,实现进程间的通信。
#include
int pipe(int pipefd[2]);
通过pipe函数创建的文件描述符fd[0]和fd[1]分别构成管道的两端,往fd[1]写入的数据可以从fd[0]读出,不能反过来。管道内部传输的数据时字节流,和TCP字节流概念相同,但有区别,管道本身拥有一个...
分类:
系统相关 时间:
2014-07-01 08:27:12
阅读次数:
339
在进程一开始运行,就自动打开了三个对应设备的文件,它们是标准输入、输出、错误流,分别用全局文件指针stdin、stdout、stderr表示,对应的文件描述符为0,1,2;stdin具有可读属性,缺省情况下是指从键盘的读取输入,stdout和stderr具有可写属性,缺省情况下是指向屏幕输出数据。
将文件路径转化为文件指针:
#include //头文件包含
FILE *fopen(...
分类:
编程语言 时间:
2014-06-30 10:44:03
阅读次数:
176