1
名前付きパイプの仕組みを学びたいので、2つのC#アプリケーションを接続できます。C#namedpipes server/client
私は2つの基本的なC#アプリケーションをテスト用に記述しましたが、動作しません。
私が接続を開始すると、最初のアプリケーションは入力を待機してフリーズし、アプリケーション2からの入力を受け取った後、それが破棄され、button1が表示されます。しかし、テキストボックスには何も表示されません。
アプリケーション1:
private void button1_Click(object sender, EventArgs e)
{
button1.Hide();
NamedPipeServerStream pipeServer = new NamedPipeServerStream("testpipe");
pipeServer.WaitForConnection();
StreamReader s = new StreamReader(pipeServer);
textBox1.Text = s.ReadToEnd();
pipeServer.Close();
button1.Show();
}
アプリケーション2:
private void button1_Click(object sender, EventArgs e)
{
NamedPipeClientStream pipeClient = new NamedPipeClientStream("testpipe");
if (pipeClient.IsConnected != true) pipeClient.Connect();
StreamWriter sw = new StreamWriter(pipeClient);
sw.WriteLine("%s", textBox1.Text);
pipeClient.Close();
}
2番目のアプリケーションで自分のコードを自分のコードに置き換えましたが、テキストを送信すると最初のアプリケーションが応答しなくなりました。何か私はそこに変更すべきですか? – Awesome
上記のコード( ''テストパイプ ''と ''テストパイプ '')の間にパイプの名前が間違っていました。今すぐ正しい名前で試してください。 – yaakov
ありがとうございました:) – Awesome