public override void ListenString(Action <string> eventActivator) { if (_listenerServer == null) { return; } if (!_listenerServer.Active) { return; } try { // Пока есть ожидающие подключения while (_listenerServer.Pending()) { var client = _listenerServer.AcceptTcpClient(); var clientEntity = new ClientEntity(this, client, eventActivator); clientEntity.OnProcessComplete += (x) => RemoveClient(x); clients.Add(clientEntity); // Запуск потока с обработкой клиента var clientThread = new Thread(new ThreadStart(() => clientEntity.Process())); clientEntity.SetThreadReference(clientThread); clientThread.Start(); } } catch (SocketException ex) { NetworkServiceLogger.Log($"Получение клиентов остановлено извне {ex.ErrorCode}"); } return; }