Zitat von
Zacherl:
* Kommen die Pakete sicher in der richtigen Reihenfolge an?
Ja, der
TCP Stack sorgt für die richtige Reihenfolge.
Zitat von
Zacherl:
* Kann ich in diesem Falle einfach die Originalfunktion so oft aufrufen, bis mindestens ein Befehl vorhanden ist, den Rest puffern und beim nächsten Aufruf übergeben? Konkret geht es mir darum, dass ich nicht weiß, wie sich die Puffergrößen verhalten, die der Funktion WSARecv übergeben werden.
Du kannst ja mit mehreren Puffern arbeiten. Ich würde aber nur einen Puffer nützen (dwBufferCount=1).
In lpNumberOfBytesRecvd erhältst du die Anzahl der Bytes.
Wenn diese Anzahl < deiner Puffergrösse ist, dann bist du vorerst fertig.
Falls die Anzahl gleich deiner Puffergrösse ist, solltest du die Daten wegspeichern und gleich nochmal WSARecv aufrufen.
Du könntest aber auch die Funktion
recv() aufrufen; die ist nicht so komplex und einfacher aufzurufen.