示例#1
0
    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();
        }
    }
示例#2
0
 public void RemoveClient(SocketServerWorker ssw)
 {
     clients.Remove(ssw);
 }