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 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();
        }