Ich hab mal im OP den ursprünglichen Code von Garfield ergänzt, denn letztlich geht's um den und nicht um meine Modifikation zu Testzwecken.
Diese Schleife Endet, wenn sie nichts empfing.
Sofern du dich auf meine
repeat
-Schleife beziehst: Ja, richtig. Die Schleife endet aber auch, wenn der Socket geschlossen wurde. Vermutlich wird er das nicht, weil vorher setsockopt gerufen wird und dort ein keep-alive gesetzt wird.
Zitat:
Erstmal könnte man sofort lesen und bei einem bekannten/erkannten "Ende" sofort aufhören
Dazu müsste man die Content-Length aus dem HTTP Header auswerten, richtig? Oder wie sonst würde man ein Ende erkennen? Problem: der HTTP-Header selbst ist Bestandteil dessen, was die Methode ReceiveBuffer empfängt.
Zitat:
und ansonsten die Schleife nicht sofort bei "nichts gelesen" beenden, sondern DORT das "Sleep" integrieren, also nicht (ReadCount = 0)
sondern (ReadCount = 0) and (LetzteZeitWoCountGrößer0 > xxxMilliekunden)
.
Das verstehe ich (noch) nicht. Kannst du das etwas näher ausführen? Inwiefern umgeht man damit das Blockieren bei wiederholten Aufrufen der recv-Funktion (nachdem die Box fertig ist mit Senden)?
Grüße
Dalai