AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

THTTPClient timeout problem macOS

Ein Thema von softtouch · begonnen am 5. Sep 2022 · letzter Beitrag vom 5. Sep 2022
Antwort Antwort
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
212 Beiträge
 
Delphi 12 Athens
 
#1

THTTPClient timeout problem macOS

  Alt 5. Sep 2022, 07:52
Ich nutze im Moment THTTPClient. Ich setze responsetimeout auf 10000.
Ein Timeout sollte ja nur dann getriggert werden, wenn 10 Sekunden lang keinerlei Daten mehr empfangen werden. Das klappt auch so unter Windows.
Jedoch unter macOS, der Timeout wird nach 10 Sekunden getriggert, obwohl Daten empfangen werden, was natürlich falsch ist.
Mit anderen Worten, der Timeout wird unter macOS getriggert wenn der Timeout Wert abgelaufen ist, und nicht wenn keine Daten empfangen werden. Setze ich den Timeout auf 20 Sekunden, wird die Datenübertragung dadurch auch nach 30 Sekunden einfach mit einem Timeout abgebrochen, egal ob Daten ankommen oder nicht.
Kennt jemand dieses Problem?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#2

AW: THTTPClient timeout problem macOS

  Alt 5. Sep 2022, 09:00
Wie lange dauert denn die gesamte Übertragung?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
212 Beiträge
 
Delphi 12 Athens
 
#3

AW: THTTPClient timeout problem macOS

  Alt 5. Sep 2022, 10:54
Wie lange dauert denn die gesamte Übertragung?
Das hängt natürlich von der Grösse ab. Der letzte Test welchen ich gemacht hatte, dauerte ca. 25 Sekunden. Auf dem PC kein Problem mit timeout 10 Sekunden, auf dem Mac wurde die Verbindung nach genau 10 Sekunden mit einem timeout abgebrochen.
Damit war mir klar das der timeout auf dem PC einwandfrei funktioniert, aber auf dem mac nicht. Der scheint den timeout als absolute Zeit für den Download zu interpretieren. Es ist im Falle des Mac irgendwie gar kein richtiger timeout, sondern eher die Zeit die der Download maximal dauern darf, was ein Bug wäre.
Mit Indy gibt es diesbezüglich keinerlei Probleme, timeout klappt wie er soll, ich möchte aber Indy nicht verwenden da ich alles ohne OpenSSL DLL's/dylibs machen möchte.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#4

AW: THTTPClient timeout problem macOS

  Alt 5. Sep 2022, 11:43
Delphi reicht den Timeout auch nur an den NSMutableURLRequest weiter (timeoutinterval) und wartet dann in einer Schleife auf das Done.
Delphi-Quellcode:
    LRequest.FDataTask.resume;
    while not LResponse.FDone do
      InternalWaitMessage(0.01);
Insofern müsste der Bug bereits im MacOS vorliegen (eher unwahrscheinlich).

Du kannst ja einen Bugreport in QP aufmachen. Vielleicht ergibt das ja weitere Informationen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz