private static void Start() { // Trap CTRL + C. Console.CancelKeyPress += OnCancelKeyPress; // Dual-stack mode: TcpListerner.Create() listens on both, IPAddress.Any and IPAddress.IPv6Any. TcpListener tcpListener = TcpListener.Create(settings.Port); tcpListener.Start(); Console.WriteLine("Listening on port {0} ...", settings.Port); while (true) { try { var logger = settings.LoggerFactory.GetLogger(); logger.IsBodyLogEnabled = !settings.OnlyHeadersLog; TcpClient tcpClient = tcpListener.AcceptTcpClient(); HeyHttpServerThread connection = new HeyHttpServerThread( logger, tcpClient.Client, RemoveConnection); lock (connectionsLock) { connections.Add(connection); } connection.Start(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }