0

我正在使用 .net 3.5 命名管道,我的服务器端是:

serverPipeStream = new NamedPipeServerStream("myPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);

当我使用 BinaryWriter 写入一些数据时,write() 调用本身不会返回,直到客户端在其 NamedPipeClientStream 上调用了 read()。

BinaryWriter 是:

writer = new BinaryWriter(serverPipeStream);

我知道 NamedPipeServerStream 提供了 BeginRead/BeginWrite 但据我所知,命名管道应该允许流编写器在它们之上执行(如许多 Microsoft 给出的示例中所见)。

那么如何使我的 write() 到命名管道不等待?

提前感谢您的帮助。

4

1 回答 1

2

问题是 BinaryWriter 没有BeginWrite函数,因此,如此处所建议,您可以写入MemoryStream,然后使用其缓冲区传递给BeginWrite管道的函数。

希望有帮助。

于 2010-06-10T16:44:44.143 回答