2010-06-10 57 views
0

我使用.NET 3.5命名管道和我的服务器端是:如何在命名管道(c#)上进行非等待写入?

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

当我与写,说,的BinaryWriter,写()调用自身的一些数据没有返回,直到客户端有在其NamedPipeClientStream上调用read()。

的是的BinaryWriter:

writer = new BinaryWriter(serverPipeStream); 

我知道,NamedPipeServerStream提供的BeginRead/BeginWrite但是从我收集,命名管道是否应该允许streamwriters对他们(上面执行在许多人看来微软给出的例子)。

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

在此先感谢您的帮助。

回答

2

的问题的BinaryWriter没有BeginWrite功能,因此,所建议的here,你可以写一个MemoryStream,然后使用它的缓冲区传递给管道的BeginWrite功能。

希望有所帮助。