private void ListenForClients() { m_tcpListener.Start(); m_running = true; m_clientListener.onServerStart(); while (m_running) { //blocks until a client has connected to the server try { var client = m_tcpListener.AcceptTcpClient(); //Console.WriteLine("connection accepted"); //create a thread to handle communication //with connected client var clientThread = new Thread(HandleClientComm); clientThread.Start(client); } catch (SocketException) { } } m_running = false; m_clientListener.onServerEnd(); }