02_创建命名管道7-14

采用mkfifo的方式创建命名管道,用子进程去读,父进程去写

pid = fork();//必须去创建一个子进程,否则就会出现,自己写自己读的尴尬情况
外层对是否是子、父进程判断,内存对open打印与否进行判断,再接下来,进行读、写操作

/* ************************************************************************
 *       Filename:  01mkfifo.c
 *    Description:  
 *        Version:  1.0
 *        Created:  2021年07月13日 10时29分38秒
 *       Revision:  none
 *       Compiler:  gcc
 *         Author:  YOUR NAME (), 
 *        Company:  
 * ************************************************************************/
#include<stdio.h>
#include<string.h>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,你的问题是关于 C# 管道通信中的命名管道,我会为你进行解答。 首命名管道是一种在本地计算机或网络上进行进程间通信的机制。它允许一个进程向另一个进程发送数据或接收数据。在 C# 中,我们可以使用命名管道来实现进程间通信。 在使用命名管道之前,我们需要创建一个命名管道。可以使用 .NET Framework 中的 `NamedPipeServerStream` 类来创建一个命名管道。以下是创建命名管道的代码示例: ```csharp // 创建命名管道 NamedPipeServerStream pipeServer = new NamedPipeServerStream("testpipe", PipeDirection.InOut); ``` 上面的代码将创建一个名为 "testpipe" 的命名管道,并指定了管道的方向为双向。 接下来,我们可以使用 `NamedPipeServerStream` 类的 `WaitForConnection` 方法等待客户端连接到管道。一旦有客户端连接,我们就可以使用 `NamedPipeServerStream` 类的 `Read` 和 `Write` 方法来进行数据的读写。 以下是一个简单的命名管道通信示例: ```csharp // 创建命名管道 NamedPipeServerStream pipeServer = new NamedPipeServerStream("testpipe", PipeDirection.InOut); // 等待客户端连接 pipeServer.WaitForConnection(); // 从客户端读取数据 byte[] buffer = new byte[1024]; int bytesRead = pipeServer.Read(buffer, 0, buffer.Length); string data = Encoding.UTF8.GetString(buffer, 0, bytesRead); Console.WriteLine("Received data: " + data); // 向客户端发送数据 string response = "Hello, client!"; byte[] responseBuffer = Encoding.UTF8.GetBytes(response); pipeServer.Write(responseBuffer, 0, responseBuffer.Length); // 关闭管道 pipeServer.Close(); ``` 在上面的代码中,我们首创建了一个名为 "testpipe" 的命名管道。然后,我们使用 `WaitForConnection` 方法等待客户端连接,并读取客户端发送的数据。接着,我们向客户端发送响应数据,并关闭管道。 总的来说,使用命名管道可以很方便地实现进程间通信。在实际应用中,我们可以根据需要对命名管道进行配置,以实现更复杂的通信逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扳手的海角

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值