Einzelnen Beitrag anzeigen

mariusbenz

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

AW: IdFTP No-transfer-time exceeded

  Alt 14. Dez 2017, 11:22
Danke erstmal an alle für eure Antworten.


Ich würde es wahrscheinlich quick-and-dirty so lösen:
Code:
  for j:= 0 to 1 do
    try
      if IdFTP.Connected then
        begin
          IdFTP.List();
          for I := 0 to IdFTP.DirectoryListing.Count - 1 do
            begin
              [...]
            end
          [...]
          break;
        end;
    except
      on e: EIdFTPServiceNotAvailable do
        if i=0 then
          begin
            IdFTP.Disconnect;
            IdFTP.Connect;
          end;
    end;
...ungetestet, als Anregung...
Habe das jetzt mal eingebaut und das scheint zu funktionieren. Ich finde das momentan besser als alle paar Sekunden neu zu verbinden. Aber ich kenne mich mit FTP-Servern nicht aus, deshlab weiß ich nicht, ob es den mehr stört, wenn sich jemand alle paar Sekunden neu verbindet oder er einfach solange wie möglich die Verbindung aufrecht erhält.
Und bevor jemand suchen geht, der das hier liest, die Exception-Klasse "EIdFTPServiceNotAvailable" ist in der Unit "IdReplyFTP" zu finden.
  Mit Zitat antworten Zitat