Als erstes machen wir eine Winsock oberfläche auf die neue Form,
wer kein winsock komponente hat macht dies
mswinsock.ocx downloaden
32 BIT -> kopiert die mswinsock.ocx nach C:/Windows/System32/
dann cmd als ADMIN AUSFÜHREN! und regsvr32 mswinsck.ocx, oder wie ihr sie genannt habt eingeben. VS, VB.Net or whatelse neustarten
64 BIT -> kopiiert die mswinsock.ocx nach C:/WINDOWS/WOWSYS64/
dann C:/WINDOWS/WOWSYS64/CMD.exe als Admin ausführen! (nicht über start!!!!) dann wieder regsvr32 mswinsock.ocx und wieder vs bzw vb.net neustarten
dann Projekt -> verweise-> hinzufügen->COM MSwinsock Control 6.0 ein hacken dranne
dann Rechtsklick auf Toolbox->Elemente auswählen-> Com Komponente -> Microsoft Winsock Control, Version 6.0 ein hacken dranne.
ganz unten in allgemein seht ihr es dann in der toolbox.
Diesen zieht ihr dann auf eure Form
So jetzt klatscht ihr noch ne Listbox auf die Form um anzugucken was so an Inhalt ankommt.
Okay das wars zum äußerlichen
Nun zum Code
Als erstes die Listen Funktion damit der Client connecten kann.
Code:
Public Class main
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock.LocalPort = 12345
Winsock.Listen()
End Sub
End Class
des halb fügen wir jetz Connection request event ein
Code:
Public Class main
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock.LocalPort = 12345
Winsock.Listen()
End Sub
Private Sub Winsock_ConnectionRequest(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles Winsock.ConnectionRequest
Winsock.Close()
Winsock.Accept(e.requestID)
End Sub
End Class
nun wird ein Client akzeptiert, aber wir können immernoch nicht die Daten sehen deshalb nun die Data Arrival Event.
diese sieht folgendermaßen aus
Code:
Public Class main
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock.LocalPort = 12345
Winsock.Listen()
End Sub
Private Sub Winsock_ConnectionRequest(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles Winsock.ConnectionRequest
Winsock.Close()
Winsock.Accept(e.requestID)
End Sub
Private Sub Winsock_DataArrival(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock.DataArrival
Dim data as string
data = winsock.getdata(data)
Listbox1.items.add(data)'so sehen wir was ankommt'
End Sub
End Class
also unser code nun
Code:
Public Class main
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock.LocalPort = 12345
Winsock.Listen()
End Sub
Private Sub Winsock_ConnectionRequest(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles Winsock.ConnectionRequest
Winsock.Close()
Winsock.Accept(e.requestID)
End Sub
Private Sub Winsock_DataArrival(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock.DataArrival
Dim data as string
data = winsock.getdata(data)
Listbox1.items.add(data)'so sehen wir was ankommt'
End Sub
Private Sub winsock_CloseEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles winsock.CloseEvent
winsock.Close()
winsock.Listen()
End Sub
End Class
Code:
Public Class main
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock.LocalPort = 12345
Winsock.Listen()
End Sub
Private Sub Winsock_ConnectionRequest(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles Winsock.ConnectionRequest
Winsock.Close()
Winsock.Accept(e.requestID)
End Sub
Private Sub Winsock_DataArrival(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock.DataArrival
Dim data as string
data = winsock.getdata(data)
winsock.senddata(data)
Listbox1.items.add(data)'so sehen wir was ankommt'
End Sub
Private Sub winsock_CloseEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles winsock.CloseEvent
winsock.Close()
winsock.Listen()
End Sub
End Class
nun ein Simpler client den wir ähnlich aufbauen
Dazu machen wir eine Form mit einer Listbox, einer Textbox und einem Button
Dann wieder ganz am start die Propeties festlegen, nur diesmal auch die IP
Code:
Public Class main
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock.RemoteIP = "127.0.0.1"
Winsock.LocalPort = 12345
Winsock.Connect()
End Sub
Private Sub Winsock_DataArrival(ByVal sender As System.Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock.DataArrival
Dim data as string
data = winsock.getdata(data)
Listbox1.items.add(data)'so sehen wir was ankommt'
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
Else
If Winsock.ctlstate = 7'nur shcicken falls wir eine Verbindung haben'
winsock.senddata(textbox1.text)
textbox1.clear
End If
End If
End Sub
End Class






