C# Pipe的BeginRead代码示例
时间: 2024-09-29 07:14:01 浏览: 31
在C#中,`Pipe` 是用于进程间通信的一种机制,`BeginRead` 方法是一个异步操作,允许你在数据可用时接收来自管道的数据。这里有一个简单的 `BeginRead` 示例:
```csharp
using System.IO.Pipes;
using System.Threading.Tasks;
public async Task ReceiveDataFromPipe()
{
// 创建一个名为 "MyNamedPipe" 的命名管道
var pipeName = "MyNamedPipe";
using (var pipe = new NamedPipeClientStream(".", pipeName, PipeDirection.In))
{
try
{
// 设置连接选项
pipe.Connect();
// 开始异步读取
byte[] buffer = new byte[4096];
int bytesRead;
await pipe.BeginRead(buffer, 0, buffer.Length, asyncResult =>
{
bytesRead = await pipe.EndRead(asyncResult);
Console.WriteLine("Received {0} bytes from the pipe:", bytesRead);
// 在这里处理接收到的数据...
}, null);
}
catch (Exception ex)
{
Console.WriteLine($"Error reading from pipe: {ex.Message}");
}
}
}
阅读全文