gpt4 book ai didi

c# - 如何将写入 Stream 1 的内容通过管道传输到 Stream 2?

转载 作者:行者123 更新时间:2023-12-04 02:16:16 26 4
gpt4 key购买 nike

这是我的场景:

producer.WriteStream(stream);
consumer.ReadStream(stream);

我想要一些允许由 producer 生成的字节的东西逐步转入 consumer .

我可以将所有内容写入 MemoryStream ,然后倒带并在 consumer 上阅读,但这会导致巨大的内存消耗。

我怎样才能做到这一点?

最佳答案

使用管道作为数据的底层传输,您可以拥有允许这种通信机制的“写入流”(服务器)和“读取流”(客户端)。

使用匿名管道或命名管道(如果您需要进程间通信)都非常简单。要创建管道流:

AnonymousPipeServerStream pipeServer = new AnonymousPipeServerStream();
AnonymousPipeClientStream pipeClient =
new AnonymousPipeClientStream(pipeServer.GetClientHandleAsString());

现在你可以使用这些来写和读:
producer.WriteStream(pipeServer);
// somewhere else...
consumer.ReadStream(pipeClient);

关于c# - 如何将写入 Stream 1 的内容通过管道传输到 Stream 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33523363/

26 4 0