Winsock kriegt nur die Hälft mit

hi
und zwar bin ichd dabei einen client für ein fremdes programm zu schreiben
dazu hab ich mir das protokoll mit einem netzwerksniffer angeschaut
und entsprechend mein programm geschrieben
das protokoll ist UDP
hier der code:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim tmp As String
Winsock1.GetData tmp, vbString
If Len(tmp) > 0 Then countmsg = countmsg + 1
'HIER KOMMT EIN AUSWAHLVERFAHREN (UNWICHTIG)
Text2 = Text2 & tmp & vbCrLf
tmp = „“
Debug.Print countmsg
End Sub

Debug.Print gibt 4 datenpakete an das ist an sich auch richtig doch das dritte paket ist unvollständig (es is relativ groß) das 4 wird offenbar gar nicht mehr ausgegeben
wenn ich die deklaration für tmp und das „,vbString“ weglasse werden wesentlich mehr daten angezeigt aber das ist nur unnützer zeichensalat (hauptsächlich „?“)

was kann ich tun???
DANKE für jede hilfe :smile:
mfg Luemmel

Versuchs mal mit TCP. Denn UDP überprüft nicht ob ein Packet wirklich angekommen ist. Wenn zum Beispiel Packet 4 vor Packet 3 eintrifft wird dies mit UDP nicht bemerkt. Das gleiche gilt, wenn Packete verloren gehen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Versuchs mal mit TCP. Denn UDP überprüft nicht ob ein Packet
wirklich angekommen ist. Wenn zum Beispiel Packet 4 vor Packet
3 eintrifft wird dies mit UDP nicht bemerkt. Das gleiche gilt,
wenn Packete verloren gehen.

jo stimmt das prob dabei is nur das das ganze NUR mit UDP funzt :frowning:
und das die reihenfolge egal ist