Vorerst einmal erkläre ich wofür ist die Winsock überhaupt und wofür braucht man diese.
Also die Winsock dient zur Datenübertragung (Internet, Netzwerk).
Als erstes muß man die Winsock einmal seinem Projekt hinzufügen, da sie nicht automatisch im Menü enthalten ist. Dies macht man über das Menü Projekt --> Komponenten... Dann bei Steuerelemente soweit runterscrollen bis Microsoft Winsock Control 6.0 erscheint. Dann ein Kreuzchen links daneben machen auf OK und schon habt Ihr ein neues Steuerelement.Das erste was ich euch erklären möchte ist, mit hilfe eines kleinen Programmes meine eigene IP Adresse herauszubekommen:
1)Private Sub Command1_Click()
Label1.Caption = Winsock1.LocalIP 'Befehl, das
die Winsock die IP herrausrückt
End Sub
Hier beschreibe ich zuerst den Server Teil:
Was benötigt Ihr auf eurem Formular:
Private Sub Form_Load()
'Beim Laden des Formulars mache folgendes
Ws.LocalPort = 11222 'Setzt
den Port der Winsock
Ws.Close 'Den Port frei machen
Ws.Listen 'Wartet auf Verbindung
End Sub
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
If Ws.State <> sckClosed Then Ws.Close 'Wenn Port
besetzt mach ihn frei
Ws.Accept requestID 'Akzeptiere
die Verbindung
End Sub
Private Sub cmdSende_Click()
Ws.SendData txtTextgeht.Text 'Sende
was im Textfeld steht.
End Sub
Private Sub Ws_DataArrival(ByVal bytesTotal As Long)
Dim Daten As String 'Die Variable Daten wird als
String definiert
Ws.GetData Daten 'Die ankommenden
Daten werden in der Variable Daten gespeichert
txtTextkommt.SelText = Daten & vbCrLf
'schreibe nun die Daten aus der Variable ins Textfeld,
End Sub 'scrolle mit wenn kein Platz mehr und beginne
bei jeder neuen Nachricht eine neue Zeile.
Die weiteren Funktionen sind eigentlich nicht mehr notwendig, ich hab sie aber trotzdem noch gemacht.
Private Sub txtTextgeht_Click()
'Bei Klick ins Textfeld für abgehenden Nachrichten
mache:
txtTextgeht.Text = "" 'Lösche
Text
End Sub
Private Sub txtTextkommt_Click() 'Bei
Klick ins Textfeld für ankommende Nachrichten mach:
MsgBox "Hier kannst du nicht klicken", vbInformation,
"Info.." 'siehe MsgBoxen
End Sub
Private Sub cmdIP_Click()
lbIP.Caption = "Deine IP ist:" & Ws.LocalIP
End Sub
Der Client sollte in etwa so aussehen:

Private Sub cmdIP_Click()
lbIP.Caption = "Deine IP " & ws.LocalIP
End Sub
Private Sub cmdSende_Click()
ws.SendData txtSende.Text
End Sub
Private Sub cmdVerbinde_Click()
ws.Close
ws.Connect txtIP.Text, 11222
End Sub
Private Sub txtSende_Click()
txtSende = ""
End Sub
Private Sub
ws_Close()
lbStatus.Caption = "Nicht Verbunden"
End Sub
Private Sub ws_Connect()
lbStatus.Caption = "Verbunden"
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim Daten As String
ws.GetData Daten
txtTextKommt.SelText = Daten & vbCrLf
End Sub
Private Sub ws_Error(ByVal Number As Integer, Description
As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String,
ByVal HelpContext As Long, CancelDisplay As Boolean)
ws.Close
lbStatus.Caption = "Nicht Verbunden"
End Sub
Auch hierfür gibts die fertige exe zum Downladen im Download-Bereich