0

私は.net3.5名前付きパイプを使用しており、サーバー側は次のとおりです。

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

たとえば、BinaryWriterを使用してデータを書き込むと、クライアント側がNamedPipeClientStreamでread()を呼び出すまで、write()呼び出し自体は返されません。

BinaryWriterは:

writer = new BinaryWriter(serverPipeStream);

NamedPipeServerStreamがBeginRead/BeginWriteを提供していることは知っていますが、私が収集したものから、名前付きパイプを使用すると、ストリームライターがそれらの上で実行できるようになります(Microsoftが提供する多くの例に見られます)。

では、名前付きパイプへのwrite()を非待機にするにはどうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

2

問題は、BinaryWriter に関数がないことです。したがって、ここBeginWriteで提案されているように、 MemoryStreamに書き込み、そのバッファーを使用してパイプの関数に渡すことができます。BeginWrite

それが役立つことを願っています。

于 2010-06-10T16:44:44.143 に答える