TCP-сервер отправляет данные только 1 клиенту вместо всех C # - PullRequest
0 голосов
/ 13 мая 2018

Итак, я создал 2 окружения рабочего стола, одно удаленное, а другое локальное.

Я попытался сделать так, чтобы слушатель tcp отправлял информацию всем подключенным клиентам, а не одному.Итак, как правильно, чтобы слушатель tcp отправлял данные всем подключенным клиентам?

Куда сервер tcp отправляет сообщение:

byte[] sendmsg = Encoding.Unicode.GetBytes("check");
            streamer.Write(sendmsg, 0, sendmsg.Length);
            byte[] sendmsgs = Encoding.Unicode.GetBytes(textBox1.Text);
            streamer.Write(sendmsgs, 0, sendmsgs.Length);

Где клиент tcp получает сообщение:

else if (checkfirststr == "check")
            {
                int txtbox = streamer.Read(buffer, 0, client.ReceiveBufferSize);
                string txt = Encoding.Unicode.GetString(buffer, 0, txtbox);
                MessageBox.Show(txt, "Data From Server");

            }

Код, по которому принимается клиент:

   while (true)
        {
            try
            {
                client = network.AcceptTcpClient();
                streamer = client.GetStream();
                worker.ReportProgress(0,"Client Accepted");
                buffers = new byte[client.ReceiveBufferSize];
            } catch(Exception ex)
            {
                MessageBox.Show(ex.Message,"Client Connection Error");
                client.Close();
                streamer.Close();
                Close();
            }
        }
...