こんにちは私は名前付きパイプの使用についていくつか質問があります。
まず、パイプサーバーをセットアップしようとすると、以下のコードを使用すると、最初のクライアント接続の最後にサーバーが使用できなくなることに気付きました。ただし、すべてをしばらく(true)ブロックでラップします。私はこれを正しく行いましたか?または、各サーバーは一度だけアクティブになってから死ぬことになっていますか?
using (NamedPipeServerStream pipeServerStream = new NamedPipeServerStream(pipeName, PipeDirection.In, 1, transmissionMode))
{
pipeServerStream.WaitForConnection();
using (StreamReader sr = new StreamReader(pipeServerStream))
{
string message = null;
do
{
message = sr.ReadLine();
OnPipeCommunicationHandler(new IPCData() { Data = message });
}
while (message != null);
}
}
次に、サーバーを独自のスレッドでスピンオフする必要がありました。これを行わないと、アプリケーションが使用できなくなります。これは正常ですか?私はこれを正しく行いましたか?私はどこかで、namedpipeserverstreamがそれ自体のために独自のスレッドを作成することを読んだと思いましたが、それが事実であることがわかりません。
ありがとう!