void ClientThread(Object StateInfo) { ThreadClientParam param = (ThreadClientParam)StateInfo; Client client = new Client(param.client, param.server); client.Go(); client.Stop(); client = null; }
public void Go() { Listener = new TcpListener(IPAddress.Any, port); // Создаем "слушателя" для указанного порта Listener.Start(); // Запускаем его // В бесконечном цикле while (true) { // Принимаем нового клиента TcpClient Client = Listener.AcceptTcpClient(); // Создаем поток Thread Thread = new Thread(new ParameterizedThreadStart(ClientThread)); ThreadClientParam param = new ThreadClientParam(); param.server = this; param.client = Client; // И запускаем этот поток, передавая ему принятого клиента Thread.Start(param); } }