Ho creato un server con il seguente codice:

codice:
Imports System.Net.Sockets 'Libreria per gestire i sockets
Imports System.Text.UTF8Encoding 'Libreria per decodificare in UTF8
Public Class Form1

    Dim servitore As TcpListener 'Variabile server
    Dim cliente As TcpClient 'Variabile client
    Dim flusso As NetworkStream 'Variabile flusso di dati client-server

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        servitore = New TcpListener(8888) 'servitore è un nuovo server che riceve/invia dati su porta 8888
        servitore.Start() 'Avvio server
        Timer2.Start() 'Avvio Timer2
        TextBox2.Text = TextBox2.Text & "Server avviato!" & vbCrLf 'Scrivo nella TextBox2
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        If servitore.Pending() Then 'Se ci sono richieste di connessione in sospeso allora...
            Timer2.Stop() 'Stop Timer2
            cliente = servitore.AcceptTcpClient() 'Accetta la connessione in sospeso
            flusso = cliente.GetStream() 'Flusso è l’invio/ricezione (Stream) di dati con cliente
            Timer1.Start() 'Avvia Timer1
            TextBox2.Text = TextBox2.Text & "Si è connesso un utente in data " & Now() & vbCrLf 'Scrivo nella TextBox2
        End If 'Fine se
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If cliente.Available > 0 Then 'Se i dati che ricevi da cliente sono disponibili e sono maggiori di 0
            Dim temp(cliente.Available - 1) As Byte 'Dichiaro un array con dimensioni uguali al numero di dati ricevuti da cliente meno 1
            flusso.Read(temp, 0, temp.Length) 'Leggo il flusso di dati
            Dim testo As String = UTF8.GetString(temp) 'Decodifica temp in stringa UTF8 e mettila in testo
            TextBox2.Text = TextBox2.Text & "Client: " & testo & vbCrLf 'Scrivo nella TextBox2
        End If 'Fine se
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox2.Text = TextBox2.Text & "Server: " & TextBox1.Text & vbCrLf 'Scrivo nella TextBox2
        Dim temp() As Byte = UTF8.GetBytes(TextBox1.Text) 'Decodifica la stringa in TextBox1 in bytes e metti ogni byte nell'array temp
        flusso.Write(temp, 0, temp.Length) 'Scrivi il flusso di dati
        TextBox1.Text = "" 'Cancello testo
    End Sub
End Class
E un client con questo codice:
codice:
Imports System.Net.Sockets 'Libreria per gestire i sockets
Imports System.Text.UTF8Encoding 'Libreria per decodificare in UTF8

Public Class Form1

    Dim cliente As TcpClient 'Variabile client
    Dim flusso As NetworkStream 'Variabile flusso di dati client-server
    Dim i As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim AddressIP As String = TextBox1.Text 'Metto l'ip dentro ad AddressIP
        'PRENDO IP DELL'HOST SE QUELLO INSERITO è UN HOSTNAME E LO METTO DENTRO AD AddressIP
        If CheckBox1.Checked = True Then
            Dim IpCollection As New Collection
            Dim ipE As Net.IPHostEntry = System.Net.Dns.GetHostEntry(TextBox1.Text)
            Dim IpA() As Net.IPAddress = ipE.AddressList
            For i = 0 To IpA.GetUpperBound(0)
                IpCollection.Add(IpA(i).ToString)
            Next
            AddressIP = IpCollection.Item(1)
        End If
        cliente = New TcpClient 'cliente è un nuovo client
        cliente.Connect(AddressIP, 8888) 'Connetti cliente all'indirizzo ip indirizzo attraverso la porta 8888
        If cliente.Connected Then 'Se cliente è connesso allora... (cioè se il server è in ascolto)
            TextBox3.Text = TextBox3.Text & "Connesso!" & vbCrLf 'Scrivo in TextBox3
            flusso = cliente.GetStream() 'flusso è l’invio/ricezione (Stream) di dati con il server al quale cliente è connesso
            Timer1.Start() 'Avvio Timer1
        Else 'Altrimenti...
            TextBox3.Text = TextBox3.Text & "Il server non risponde!" & vbCrLf 'Scrivo in TextBox3
        End If 'Fine se
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If cliente.Available > 0 Then 'Se i dati che ricevi dal server al quale è connesso cliente sono disponibili e sono maggiori di 0
            Dim temp(cliente.Available - 1) As Byte 'Dichiaro un array con dimensioni uguali al numero di dati ricevuti da cliente meno 1
            flusso.Read(temp, 0, temp.Length) 'Leggo il flusso di dati
            Dim testo As String = UTF8.GetString(temp) 'Decodifica temp in stringa UTF8 e mettila in testo
            TextBox3.Text = TextBox3.Text & "Server: " & testo & vbCrLf 'Scrivo nella TextBox3
        End If 'Fine se
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox3.Text = TextBox3.Text & "Client: " & TextBox2.Text & vbCrLf 'Scrivo nella TextBox3
        Dim temp() As Byte = UTF8.GetBytes(TextBox2.Text) 'Decodifica la stringa in TextBox2 in bytes e metti ogni byte nell'array temp
        flusso.Write(temp, 0, temp.Length) 'Scrivi il flusso di dati
        TextBox2.Text = "" 'Cancello testo
        TextBox2.Focus() 'Attivo TextBox2
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
Solo che mi dà errore quando tento di connetterli