Я пытаюсь узнать, как работают именованные каналы, поэтому я могу подключить два приложения C#.C# namedpipes server/client
Я написал два базовых приложения C# для тестирования, но он не работает.
Когда я запустил соединение, первое приложение замерзает, ожидая ввода, и после того, как я отправил ввод из приложения 2, он размораживает, а кнопка 1 показывает. Но ничего не появляется в текстовом поле, какие-то идеи почему?
Application1:
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();
}
Я заменил свой код вашим вторым приложением, но теперь первые приложения перестают отвечать после отправки текста. все, что я должен там изменить? – Awesome
У меня было неправильное название трубы в коде выше ('' test pipe ''versus' 'testpipe" '). Теперь попробуйте ввести правильное имя. – yaakov
это сработало спасибо :) – Awesome