guarda io pensavo che le porte di ascolto e chiamata dovessero essere le stesse.

ovviamente le posso impostare mediante una casella di testo tu cosa mi consigli??
per il codice del serve eccolo

codice:
Private Sub Winsock1_Close()
    Winsock1.Close
    cmdAscolta.Enabled = True
    cmdChiudi.Enabled = False
    lblColore.BackColor = RGB(255, 0, 0)
    blnStato = False
End Sub
______________________________________________________________
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Data As String
    Winsock1.GetData Data ' Copia i dati del Buffer in entrata nella variabile Data e svuota il Buffer
    DataTmp = Left(Data, 2)
    If DataTmp = "wr" Then
        lblScrittura.Caption = strClient & " sta scrivendo un messaggio"
    ElseIf DataTmp = "cl" Then
        lblScrittura.Caption = ""
    ElseIf DataTmp = "nm" Then
        strClient = Right(Data, (Len(Data) - 2))
    Else
        txtChat.Text = txtChat.Text & strClient & ":" & vbCrLf & "  " & Data & vbCrLf
        ' Imposta come inizio della selezione la fine, per lo scrolling automatico
        txtChat.SelStart = Len(txtChat.Text)
    End If
End Sub

____________________________________________________________
Private Sub Winsock1_Connect()
strNome = txtNome.Text
MsgBox strNome
Winsock1.SendData "nm" & strNome
End Sub
____________________________________________________________
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If MsgBox("Accettare la connessione?", vbYesNo) = vbYes Then
      Winsock1.Close               ' Chiude la socket per permetterle di cambiare stato
      Winsock1.Accept requestID  ' Accetta la richiesta
      lblColore.BackColor = RGB(0, 192, 0)
      blnStato = True
      Winsock1.SendData "nm" & strNome
    Else                        ' Altrimenti
      Winsock1.Close             ' chiude la socket
      Winsock1.Listen              ' e si rimette in ascolto rifiutando la richiesta di connessione
      lblColore.BackColor = RGB(255, 0, 0)
    End If
End Sub