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.