Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Neustart von idFTP nach EIdConnClosedGracefully? (https://www.delphipraxis.net/152909-neustart-von-idftp-nach-eidconnclosedgracefully.html)

andreasm82 12. Jul 2010 13:46

Neustart von idFTP nach EIdConnClosedGracefully?
 
Hallo,

ab und an kommt es vor, dass es bei langsamen Verbindungen, Verbindungsabbrüchen usw. zu einer Exception kommt.
Soweit ja kein Thema.
Jedoch funktioniert FTP nach einer Exception rein gar nicht mehr, da indy ftp dann grundsätzlich bei jedem Übertragungsversuch die EIdConnClosedGracefully Exception kommt.

Erst wenn ich das komplette Programm neustarte, funktioniert FTP auch wieder. Dies ist jedoch ein Unding, da das Programm dauerhaft laufen muss.

Wie kann ich nun im Fehlerfall Indy ftp neustarten, so dass sich dieses quasi wieder neu initialisiert und die alten Fehlermeldungen vergisst?

DelTurbo 12. Jul 2010 14:19

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
http://www.delphipraxis.net/151089-i...bindungen.html

andreasm82 12. Jul 2010 14:30

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Genau, das war mein alter Thread :-)

Dieses Problem ist nun aber ein generelles. Es kommt auch vor, wenn Dateien auf dem Server nicht vorhanden sind und ich diese downloaden möchte, usw.

Ich habe vieles im Programm berücksichtigt, aber noch lange nicht alles. Und bei indy bin ich mir nie sicher, ob nicht doch einmal eine Meldung kommt, die ich bisher nicht abgefangen habe.

Daher die Frage, wie man indy ftp neustarten kann.

idftp.reinitialize hilft schonmal nicht. danach kommen noch immer die gleichen Fehlermeldungen bzgl. EIdConnClosedGracefully.

DelTurbo 12. Jul 2010 14:50

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Hmm,

nachdem ich den idFTP so geändert habe wie beschrieben, damit er auf jeden fall "wiederkommt", habe ich eigentlich keine probs mehr.

Allerdings sind meine sachen dynamisch. Das heisst ich erstelle sie zur laufzeit. Habe ich einen fehler, dann lösche ich den kram und lege es neu an.

Ich weiss ja nicht wie weit dein program ist. Aber vielleicht solltest du umsteigen. In dem FTP bereich hatte ich mal CleverComponents ausprobiert und war überracht wie einfach und stabil alles sein kann. Leider kann ich sie nicht nutzen da sie bei einigen sachen kein SSL macht.

Ansonsten machten die sachen einen guten eindruck. Noch ein nachteil ist, das es nichtmehr auf windows 2k läuft.

Leider ist mein projekt schon zu weit um ein Downgrade von Indy zu machen. Und ich habe schon zu viel zeit ins fixen von dem kram gesteckt. Im moment stecke ich schon wieder fest. Das hätte ich alles vorher wissen müssen.... :(

andreasm82 13. Jul 2010 14:04

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Stimmt, da hast du einen großen Vorteil, indem du alles per Laufzeit generierst. Dies mache ich leider nicht und nun ist es auch sehr schwer, alles umzustellen. Dies würde bei mir ein längerer Umstellungsprozess bedeuten.

Was ich bei Indy ftp auch seltsam finde, dass die EIdConnClosedGracefully Fehlermeldungen schon bei geringsten Änderungen auftreten können. Momentan benutze ich z.B. zum Beenden einer FTP Verbindung nur ein Quit.
Davor verwendete ich ein Abort und danach ein quit , dies führte ab und an auch zu den EIdConnClosedGracefully fehlern.
Auch ein Disconnect klappt nicht 100%ig.

Ich bin mir auch nicht 100%ig sicher, ob der passive Transfermodus und Übertragungsmodus Binary besser sind oder vielleicht sogar die Probleme machen. Es tritt alles eben recht sporadisch auf...

DelTurbo 13. Jul 2010 14:50

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Zitat:

Zitat von andreasm82 (Beitrag 1035121)
Auch ein Disconnect klappt nicht 100%ig.

Jo, das spinnt auch rum. Wenn du es mit True machst sollte es klappen.

Source.Disconnect(True);

Ich bin damals zweigleisig gefahren. Wenn du die Clever nimmst, brauchst du nur wenige änderungen in deinem programm. z.b. aus .Disconnect wird .Close usw.

Wäre ja vielleicht mal ein versuch wert.

andreasm82 14. Jul 2010 16:51

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Danke.

Besteht noch die Frage, was genau der Unterschied zwischen disconnect und quit ist.
Und was das True bewirkt, denn dies ist nirgends beschrieben.

Dokumentiert ist ja disconnect unter idftp nicht (Symbol Reference > Classes > TIdFTP Class > TIdFTP Methods ), ist wohl etwas übergeordnetes. Wobei dann die Frage ist, ob dem FTP Server dann auch das Beenden ordnungsgemäß signalisiert wird.

DelTurbo 14. Jul 2010 17:16

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Zitat:

Zitat von andreasm82 (Beitrag 1035310)
Besteht noch die Frage, was genau der Unterschied zwischen disconnect und quit ist.
Und was das True bewirkt, denn dies ist nirgends beschrieben.

Quit ist Disconnect ohne True.

Disconnect mit True sagt der gegenseite noch mit einem QUIT bescheid das schluss ist. Ohne True wird einfach zugemacht.

andreasm82 22. Jul 2010 15:07

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Seit ich disconnect(true) verwende, hatte ich mal keine Probleme mehr mit EIdConnClosedGracefully...

Aber man soll ja niemals nie sagen... Wer weiß, ob es nochmal auftritt.:roll:


Ich überlege gerade, eine neuere Tiburon Version zu nutzen, wobei ich im Changelog in der letzten Zeit keine Änderungen bzgl. FTP gesehen habe. Ist dann auch davon auszugehen, dass nichts am Indy ftp gemacht wurde? Es könnte ja sein, dass nicht alle bzw. nur die wichtigsten Änderungen im Changelog vermerkt werden.

DelTurbo 22. Jul 2010 15:28

AW: Neustart von idFTP nach EIdConnClosedGracefully?
 
Freut mich das es klappt. Ob du updaten willst musst du selber wissen. Ich würde es mir gut überlegen. Mir ist keine "anlaufstelle" bekannt ist wo man bugs melden könnte, bzw. ein "richtiges" changelog sehen kann.

Zum updaten... Ich zieh mir ab und zu mal eine neue svn-version. Dann lass ich WinMerge drüberlaufen und sehe was sich geändert hat. Wenn eine änderung sinnvoll für mich ist, dann nehm ich die in mein 4017er mit rein. Zumal ich den nachteil habe das Delphi7 wohl nichtmehr richtig unterstützt wird.

Achso, am IdFTP wurde nix geändert. Ausser eine sache die mit FXP zu tun hat. Aber das ist für dich wohl eher uninteresant.

Gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr.
Seite 1 von 3  1 23      

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