Salve a tutti. Sto sviluppando un'applicazione client-server in vb.net 2008 seguendo l'esempio che ho trovato su una guida. Il codice che pone in ascolto il server è questo:

codice:
'Inizializza il listener e inizia l'ascolto sulla porta
        '5000. Inoltre, attiva il timer per controllare se ci
        'sono connessioni in arrivo. Il timer scatta ogni 100ms
        Listener = New TcpListener(IPAddress.Parse("127.0.0.1"), 5000)
        Listener.Start()
        tmrConnections.Start()
        txtLog.AppendText("Server - in ascolto..." & Environment.NewLine)
e quello per verificare se ci sono connessioni in lista (sempre sul server) è questo:

codice:
'Se ci sono connessioni...
        If Listener.Pending() Then
            'Ferma un attimo il timer
            tmrConnections.Stop()

            'Chiede all'utente se confermare la connessione
            If MessageBox.Show("Rilevato un tentativo di connessione. Accettare?", Me.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                'Ottiene l'oggetto TcpClient collegato al client
                Client = Listener.AcceptTcpClient()
                'Ferma il listener
                Listener.Stop()
                'Ottiene il network stream
                NetStream = Client.GetStream()
            Else
                Listener.Stop()
                Listener.Start()
                tmrConnections.Start()
            End If
        End If
Dove tmrConnection è un timer, Listener è un oggetto di tipo TcpListener, NetStream è di tipo NetworkStream e Client è di tipo TcpClient

Il codice che tenta di connettere il client è questo:

codice:
 Dim IP As Net.IPAddress = Nothing

        'Prima esegue un controllo sull'indirizzo IP per 
        'controllare che sia valido
        If Not Net.IPAddress.TryParse("127.0.0.1", IP) Then
            MessageBox.Show("IP non valido!", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            Exit Sub
        End If

        IP = IPAddress.Parse("127.0.0.1")
        'Quindi inizializza un client e tenta la connessione
        'al dato IP sulla porta 5000
        Client = New TcpClient()
        txtLog.AppendText("Client - tentativo di connessione..." & vbCrLf)
        Try
            Application.DoEvents()
            Client.Connect(IP, 5000)
        Catch Ex As Exception
            MessageBox.Show(Ex.Message)
        End Try

        'Se la connessione ha avuto successo, ottiene il network
        'stream e agisce sui controlli come nel codice precedente
        If Client.Connected Then
            txtLog.AppendText("Tentativo di connessione riuscito!" & vbCrLf)
            NetStream = Client.GetStream()
            EnableControls(True)
        Else
            txtLog.AppendText("Tentativo di connessione fallito..." & vbCrLf)
        End If
Client è un oggetto diverso, sempre di tipo TcpClient.
In entrambi txtLog è una textbox.
Ogni volta che tento di connettere il client (il server è sempre in ascolto) ricevo il messaggio di errore: "Impossibile stabilire una connessione. Rifiuto persistente del computer di destinazione 127.0.0.1:5000"

Cosa sto sbagliando?? Probabilmente sarà una cavolata ma è la prima volta che sviluppo una cosa del genere.

Grazie in anticipo.