void StartServer_threaded() { try { // Enter the listening loop. while(true) { Log.AddToLog("Waiting for a connection... "); TcpClient client = server.AcceptTcpClient(); SocketServerWorker ssw = new SocketServerWorker(this, client, idCounter); clients.Add(ssw); Thread _thread = new Thread(() => ssw.RunWorker()); _thread.Start(); Log.AddToLog(idCounter++ + "|Client Connected!"); } } catch(SocketException e) { Log.AddToLog("SocketException: " + e); } finally { // Stop listening for new clients. server.Stop(); } }
public void RemoveClient(SocketServerWorker ssw) { clients.Remove(ssw); }