Односторонний чат: не работает после первого сообщения - C#

Узнай цену своей работы

Формулировка задачи:

Есть приложение - односторонний чат, но отправляет только одно сообщение. Код отправляющего сообщения:
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. TcpClient client = new TcpClient();
  4. client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12000));
  5. StreamWriter sw = new StreamWriter(client.GetStream());
  6. sw.AutoFlush = true;
  7. string msg = textBox1.Text;
  8. sw.WriteLine(msg);
  9. client.Close();
  10. }
Код принимающего сообщения:
Листинг программы
  1. public Form1()
  2. {
  3. InitializeComponent();
  4. TcpListener listner = new TcpListener(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12000));
  5. listner.Start();
  6. TcpClient client = listner.AcceptTcpClient();
  7. StreamReader sr = new StreamReader(client.GetStream());
  8. label1.Text += "Client: " + sr.ReadLine();
  9. client.Close();
  10. }
Я, так понимаю, где-то надо вставить цикл, но где?

Решение задачи: «Односторонний чат: не работает после первого сообщения»

textual
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3.     TcpClient client = new TcpClient();
  4.     client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12000));
  5.     StreamWriter sw = new StreamWriter(client.GetStream());
  6.     sw.AutoFlush = true;
  7.     string msg = textBox1.Text;
  8.     sw.WriteLine(msg);
  9.     client.Close();
  10. }
  11.  
  12. private async void Form1_Load(object sender, EventArgs e)
  13. {
  14.     TcpListener listner = new TcpListener(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12000));
  15.     listner.Start();
  16.     while (true)
  17.     {
  18.         TcpClient client = await listner.AcceptTcpClientAsync();
  19.         StreamReader sr = new StreamReader(client.GetStream());
  20.         label1.Text += "Client: " + await sr.ReadLineAsync();
  21.         client.Close();
  22.     }
  23. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы