IndyFTP checken ob Verbindung noch besteht



  • Hallo,

    ich schreibe ein kleines FTP-Programm um mich mit einem Gerät zu verbinden und Dateien auszutauschen. Ich verwende dazu die TIdFTP -Komponente und soweit funtioniert alles gut.

    Das Problem ist nur, dass das Gerät manchmal die Verbindung autom. trennt, aber das IdFTP->Connected() immernoch den Wert true zurückgibt, sodass Exceptions auftreten.

    Wie kann den richtigen Verbindungsstatus abfragen, so dass das Programm dann ein Reconnect machen kann?

    Gruß
    Hawk



  • Hi,

    die Frage ist zwar schon etwas her, aber vielleicht wird es noch benötigt.

    Du hast recht, wenn die Verbindung vom Server unterbrochen wird,
    bekommt das TIdFTP nicht mit und meldet true bei einer Connected - Abfrage.

    Ich hatte das Problem auch schon mal und wie folgt gelöst:

    Verpacke deine Server-Abfrage einfach in ein TRY & CATCH.
    Geht bei der Abfrage was schief geht es im CATCH weiter.
    Im CATCH setzt du TIdFTP zurück mit TIdFTP->Quit();

    Dann einfach wieder erneut verbinden und deine Abfrage wiederholen.

    Gruß
    Andreas



  • Mmmhh... das ist ne gute Idee, danke!

    Gruß
    Hawk


Anmelden zum Antworten