Einzelnen Beitrag anzeigen

mariusbenz

Registriert seit: 6. Mär 2015
38 Beiträge
 
Delphi 10.3 Rio
 
#1

IdFTP No-transfer-time exceeded

  Alt 13. Dez 2017, 14:05
Hallo,

Eine Forumsuche hat bis jetzt noch nichts gebracht, deshalb ein neues Thema:

Quellcode vorab:
Delphi-Quellcode:
if IdFTP.Connected then
  begin
    IdFTP.List();
    for I := 0 to IdFTP.DirectoryListing.Count - 1 do
      begin
        [...]
      end
    [...]
  end;
Der Code ist Teil einer Funktion, die alle paar Sekunden von einem Timer ausgeführt wird. Funktioniert auch alles wunderbar. Aber nach ziemlich genau 10 Minuten kommt beim Ausführen der Zeile "IdFTP.List();" eine Exception:
exception class : EIdFTPServiceNotAvailable
exception message : No-transfer-time exceeded. Closing control connection.

Das einzige, was ich dazu gefunden hab, ist dass manche FTP-Server nach einer gewissen Zeit die Verbindung killen.
Allerdings prüfe ich ja vorher auf Connected ab, also bin ich ja prinzipiell noch verbunden?
Folgendes habe ich bereits versucht:
1. IdFTP.noop;
2. Jedes mal eine temporäre Datei uploaden
3. nach jedem Timer-Event disconnecten

1 hat nichts gebracht
2 und 3 haben funktioniert aber sind nur unschöne Workarounds.

Leider ist der Administrator unseres FTP-Servers im Urlaub, deshalb habe ich keine Ahnung, ob das am FTP-Server selbst liegt oder ob ich noch was anderes einstellen kann.
  Mit Zitat antworten Zitat