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

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

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

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

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

textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
    TcpClient client = new TcpClient();
    client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12000));
    StreamWriter sw = new StreamWriter(client.GetStream());
    sw.AutoFlush = true;
    string msg = textBox1.Text;
    sw.WriteLine(msg);
    client.Close();
}
 
private async void Form1_Load(object sender, EventArgs e)
{
    TcpListener listner = new TcpListener(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12000));
    listner.Start();
    while (true)
    {
        TcpClient client = await listner.AcceptTcpClientAsync();
        StreamReader sr = new StreamReader(client.GetStream());
        label1.Text += "Client: " + await sr.ReadLineAsync();
        client.Close();
    }
}

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


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

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

15   голосов , оценка 3.867 из 5
Похожие ответы