这是我的场景:
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)