2010-06-10 52 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功能。

希望有所幫助。