命名管道的通信方式

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

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

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

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

程序:server.c

命名管道的通信方式


client.c

命名管道的通信方式

测试:

命名管道的通信方式

命名管道的通信方式

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