套接字与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(失败)、其他(文件描述符)
读写:与文件操作相同
@【全双工】套接字
特点: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(失败)、其他(文件描述符)
读写:与文件操作相同
阅读全文
0 0
- 套接字与FIFO
- 套接字与端口
- 套接字与文件
- 端口与套接字
- AF_INET与套接字
- 原始套接字与sniffer
- 套接字与网络通信
- 阻塞套接字与非阻塞套接字
- 阻塞套接字与非阻塞套接字
- Dart的套接字与web套接字
- Linux 套接字与文件系统的关系--------套接字文件系统
- 监听套接字与已连接套接字
- TCP套接字与UDP套接字编程
- FIFO与DMA
- fifo与pipe总结
- FIFO结构与实现
- 线程同步与异步套接字编程
- 谈谈RPC与套接字以及信号
- Android中的各种button
- 实现用户注册与登录、登出(三)
- java读取配置文件的方法
- iOS开发 防止button快速点击
- ELK日志分析系统搭建
- 套接字与FIFO
- Linux--搭建postfix邮件服务器
- JProfiler入门教程-简单的java程序性能调优
- 在Linux系统Centos6.9安装locate命令
- html注册失败跳转页面
- 序列化与反序列化
- Qt线程之间通过signal和slot传递数据
- c语言在包含头文件时用尖括号和双引号的区别
- android studio 学习小记