vb6 winsock tutorial

08/15/2006 14:01 Maybe It's Maybelline#1
Ich weiß, vb6 ist aaaaaaaalllt und 2005 ist sooooo besser (kann ich auch gleich zu C# gehen), aber fürs erste will ich das noch probieren. Okay, ich suche ein Winsock tutorial was allerdings direkt HEX packets schickt/verarbeitet und nicht im ASCII format, ich hab zwar ein paar Beispiel sources, allerdings versteh ich nicht so recht wie ich das machen soll. Also ne TCP verbindung.
08/15/2006 21:50 CyRuSTheViRuS#2
Erstmal packst du das Winsock Control auf deine Form.
Wie das geht weisst du ja denk ich mal.

Nun gehts an den Code.
Wenn dies ein Clientsocket werden soll solltest du am besten zu etwas connecten.

Je nachdem wo du's haben willst kommt dann das hin :

Code:
Winsock1.Connect "127.0.0.1", 50001

Nun versucht er eine Verbindung aufzubauen.
Fals die klappt wird das WinsockEvent Connect aufgerufen.
Wie du das zum Code hinzufügst weisst du sicher.
Fals nicht : Du klickst in der Codeansicht oben direkt über dem Codefenster auf die linke Listbox und wählst das Winsock Control aus. In der Rechten kannst du nun zu den Events springen die das Winsock Control mit sich führt.
Fals diese noch nicht im Code vorhanden sind werden sie sofort hinzugefügt.

So nun wurde connected.
Nun wartest du auf Daten die ankommen.
Sobald Daten ankommen wird das WinsockEvent DataArrival aufgerufen.
Wie du die Daten abfängst siehst du hier.

Code:
Dim incData as String 'je nachdem was man will

Winsock1.GetData incData
Nun hast du daten erhalten. ;o

Fals du welche versenden willst nutzt du folgendes.

Code:
Dim Packet as String

Packet = "HALLO"

Winsock1.SendData Packet
oder als Byte Variante

Code:
Dim Packet(4) as Byte 'HALLO = 5; 0 bis 4 = 5;D

Packet(0) = &H48
Packet(1) = &H41
Packet(2) = &H4C
Packet(3) = &H4C
Packet(4) = &H4F

Winsock1.SendData Packet
10/24/2006 18:51 Lutscher#3
Server:
Code:
Private Sub ServerButton_Click()
  Winsock.LocalPort = 2415
  Winsock.Listen
End Sub

Private Sub Winsock_DataArrival()
  Dim Data As Variant
  Winsock.GetData Data
  TextBox.Text = Data
End Sub

Private Sub CloseButton_Click()
  Winsock.Close
End Sub
Client:
Code:
Private Sub ClientButton_Click()
  Winsock.RemoteHost = 127.0.0.1
  Winsock.RemotePort = 2415
  Winsock.Connect
End Sub

Private Sub SendButton_Click()
  Winsock.SendData TextBox.Text
End Sub

Private Sub CloseButton_Click()
  Winsock.Close
End Sub
Du kannst auch noch Connection Probleme abfangen mit Winsock_Error(), und vieles mehr ^^'

Tut mir Leid aber mehr weiß ich nicht, ist schon mehr als ein Jahr her ...