Forum: Netzwerke
Delphi
by Dalai,
13. Okt 2017
Sofern KeepAlive gesetzt ist, trifft das zu. Siehe meine weiteren Ausführungen in #6 oben.
Nach Entfernung der KeepAlive-Header wird die Verbindung geschlossen und der Abruf geht schnell; mein Testprogramm braucht dann weniger als eine Sekunde zum Starten, vorher waren es fast fünf (je nach Menge der abgerufenen Informationen).
Allerdings hänge ich immer noch an der Abbruch-Bedingung der...
Forum: Netzwerke
Delphi
by Dalai,
13. Okt 2017
Deswegen ja meine Änderung des Codes in die repeat-Schleife auf Basis des MS-Beispiels. Problem dabei: der zweite Schleifendurchlauf bleibt bei Aufruf der recv-Funktion stehen, d.h. die Verbindung wird eben nicht geschlossen, und der Aufruf von recv ist offensichtlich blockierend.
-----
Aber ich bin einen Schritt weiter. Mir ist aufgefallen, dass bei einem verkleinerten Sleep trotzdem...
Forum: Netzwerke
Delphi
by Dalai,
12. Okt 2017
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.
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.
Dazu müsste man die...