Wysyłanie informacji z serwera do wszystkich klientów

0

Mam taki kod serwera:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;

namespace ChatServerv1._0
{
    class Program
    {
        static TcpListener chatServer;
        static TcpClient client;
        static BinaryWriter writeToClient;
        static BinaryReader readMessage;
        static void Main(string[] args)
        {

            Thread serverThread = new Thread(new ThreadStart(StartServer));
           // serverThread.Start();
            StartServer();

            Console.ReadLine();

        }
        static void StartServer()
        {
            chatServer = new TcpListener(IPAddress.Parse("127.0.0.1"), 1024);
            chatServer.Start();
            string message = "Hej, witaj na serwerze!";
       
            while (true)
            {
              
                client = chatServer.AcceptTcpClient();
              
                readMessage = new BinaryReader(client.GetStream());
                writeToClient = new BinaryWriter(client.GetStream());
                writeToClient.Write("Dołączyłeś do czatu..");  
                if (client.Connected)
                {                  
                    Console.WriteLine("[:Ktoś dołączył:]");

                    Thread writeToClientThr = new Thread(new ThreadStart(ReadMessage));
                    writeToClientThr.Start();
                   
                }
                
            
                  
                
            }
        }
        static void ReadMessage()
        {
            while (true)
            {
                writeToClient.Write(readMessage.ReadString());
            }
            
        }
    }
}
 

Chciałbym, żeby każdy klient, który się podłączy otrzymywał jakąś wiadomość właśnie od serwera. Pytanie jak to zrobić?
Czytałem gdzieś, żeby stworzyć klasę, która będzie reprezentować danego klienta ale tutaj się pojawia pytanie: jak takiego klienta do klasy dodać tzn jak go identyfikować?

0

Może po IP :P

1

GUID.NewGuid(); dużo mniejsza szansa, że się powtórzy.

0

...

IPEndPoint IP = (IPEndPoint)client.Client.RemoteEndPoint;

1 użytkowników online, w tym zalogowanych: 0, gości: 1