Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#4

AW: Schnellere Kommunikation mit einer Fritzbox

  Alt 12. Okt 2017, 16:29
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
  Mit Zitat antworten Zitat