命名管道的通信方式

本文介绍了命名管道的本质——允许无血缘关系的进程通过文件路径进行通信,特别是使用mkfifo函数创建FIFO规则的管道文件。通过举例说明如何在server.c和client.c两个程序中实现进程间的通信,展示命名管道相对于匿名管道的灵活性。
摘要由CSDN通过智能技术生成

        1.命名管道的本质是使两个没有必要具有血缘关系的进程通过文件的路径来进行间接通信;

mkfifo(const char* pathname,...)函数可创建名为pathname的管道文件,其可支持无血缘关系的进程间通信,且其读数规则为先进先出(FIFO);

下面,将介绍如何使用mkfifo()函数进行进程间通信(与匿名管道相比,命名管道更加灵活):

首先,可创建两个可执行程序,通过多台虚拟机可实现通话功能:

程序:server.c



client.c


测试:



         在以上测试中,mkfifo()函数生成了管道文件mypipe1且server、client可利用管道文件实现互相通信;













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值