套接字与FIFO

来源:互联网 发布:淘宝哪家mcm高仿比较好 编辑:程序博客网 时间:2024/04/30 16:23
###套接字与FIFO
    @【全双工】套接字
        特点:sv[0]与sv[1]可读可写
        案列:客户端服务器模型    http://www.jianshu.com/p/b7ab8400eccf
        操作:
            创建:int socketpair(int domain,int type,int protocl,int sv[2])
                domain:套接口的域(AF_LOCAL/AF_UNIX)
                type:套接口类型(SOCK_STREAM【数据流】、SOCK_DGRAM【数据报】)
                protocol:协议(必须0)
                sv:文件描述符的指针(s[0]与s[1]都可读写)
                返回值:0(成功)、-1(出错)
            关闭:close(sv[0]);close(sv[1]);
    @【半双工】FIFO管道/命名管道
        特点:可以是非亲缘进程之间;读写必须同时执行,否则堵塞【默认】。
        操作:
            创建命名管道:int mkfifo(pathname,mode)【古老方式:int mknod(const char *filename,mode_t mode | S_IFIFO,(dev_t)0);】
                    pathname:文件路径【文件必须不存在】
                    mode:模式
                    返回值:0(成功)、非零(失败)
            打开FIFO文件:int open(const char* path,int mode)
                    pathname:文件路径
                    mode:模式【O_RDONLY(阻塞只读)、O_RDONLY|O_NONBLOCK(非阻塞只读)、O_WRONLY(阻塞只写)、O_WRONLY|O_NONBLOCK(非阻塞只写)】
                    返回值:-1(失败)、其他(文件描述符)
            读写:与文件操作相同

原创粉丝点击