intercetto le connessioni tramite un TCPListner,cosa intendi per socket base e socket TCP!?


codice:
        private void ascoltoConnessioni()
        {
            Console.WriteLine("Server attivo...");

            connessioneTCP = new TcpListener(ip, porta);            
            connessioneTCP.Start();

            while (true)
            {
                //Rimango in ascolto di eventuali chiamate dai client
                Socket client = connessioneTCP.AcceptSocket();
                try
                {
                    if (client.Connected)
                    {
                        setNumeroConnessioni();
                        Console.WriteLine("Client connesso");
                        try
                        {
                             
                            //oggetto che rappresenta il client
                            GestioneClient gc = new GestioneClient(client);
                            gc.Start();
                            
                            //hashtable che mantiene il riferimento ai client connessi
                            this.hashUser.Add(gc.matricola, gc);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }
            }
        }

Questo è un estratto del codice che rimane in ascolto delle connessioni....gestioneClient è un oggetto che rappresenta il client,accetta un socket come parametro,e ha metodi per comunicare in lettura e scrittura sul proprio canale socket.