static void Main(string[] args) { bool isRunningServer = true; Task.Factory.StartNew(() => { List<Client> clients=new List<Client>(); TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 8888); server.Start(); while (isRunningServer) { try { Client newClient=new Client(server.AcceptTcpClient()); clients.Add(newClient); newClient.Run(); } catch (Exception) { throw; } } },TaskCreationOptions.LongRunning); Console.WriteLine("running"); Console.ReadLine(); isRunningServer = false; Console.WriteLine("stoping"); Console.ReadLine(); }