public static void Run() { while (serverRunning) { try { // Wartet auf eingehenden Verbindungswunsch TcpClient c = listener.AcceptTcpClient(); // Initialisiert und startet einen Server-Thread // und fügt ihn zur Liste der Server-Threads hinzu ServerThread tmpThread = new ServerThread(c); threads.Add(tmpThread); } catch (Exception) { } } }
public void stopServer() { // Alle Server-Threads stoppen for (IEnumerator e = threads.GetEnumerator(); e.MoveNext();) { // Nächsten Server-Thread holen ServerThread st = (ServerThread)e.Current; // und stoppen st.Stop(); while (st.running) { Thread.Sleep(1000); } } // Haupt-Server-Thread stoppen stopServerThread(); //th.Abort(); // Listener stoppen listener.Stop(); }