Entwickler-Ecke

Internet / Netzwerk - Indy FTP Verursacht Exception


Tksnav17 - Mi 01.03.06 13:17
Titel: Indy FTP Verursacht Exception
mit folgendem Quellcode ziehe ich mir per FTP Dateien von einem Server.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
idftp1.List(listbox1.Items, 'BEDARF.*', true);
      for i := 0 to listbox1.Items.Count - 1 do
      begin
        text := listbox1.Items[i];
        len := length(text);
        delete(text, 1, len - 10);
        statusbar1.Panels[0].Text := 'Download ' + text;
        refresh;
        idftp1.get(text, pfad + text, true);
      end;


Das funktioniert auch alles ganz gut. Aber in 25% aller Fälle bleibt das Programm an einer der Dateien hängen und ich bekomme einen EIdProtcolReplyError.

"Unable to build Data Connection : No Route to host".

Wenn ich die FTP-Verbindung dann wieder herstelle, funktioniert auch alles wieder.

Woran kann das liegen? Muß ich etwa nach jedem download die FTP-Verbindung schließen und neu aufbauen? Oder kann es an Firewall (WinXP) oder Server liegen?


Narses - Mi 01.03.06 13:33

Moin!

Ist ne WAN-Verbindung im Spiel ((DSL-)Router)?

cu
Narses


Tksnav17 - Mi 01.03.06 14:02

Also, das DSL geht über ne Fritz!Box und danach über nen Fli4L-Router.


Narses - Mi 01.03.06 14:07

Moin!

Meine Empfehlung: für jeden Transfer eine neue Verbindung aufbauen, wenn du seit dem letzten Transfer mehr als 60sec gewartet hast. Die Gründe sind sehr vielfältiger Natur und nicht immer gleich (u.A. das Portforwarding im Router-OS spielt da rein).

Aber da du dynamische Adressierung mit drin hast, wirste möglicherweise ein "Restrisiko" behalten. Es liegt IMHO jedenfalls nicht an den Indies, sondern an der Internetanbindung/-verwendung.

cu
Narses


Tksnav17 - Mi 01.03.06 15:16

OK, Danke.

Also die Dateien werden ohne Pause nacheinander vom Server geholt.
ich werde wohl das neustarten der FTP-Verbindung sicherheitshalber nach jedem Block machen.

d.H. mein Programm besteht aus mehreren der oben angeführten download-blöcken.

ansonsten schieb ich alles aufs inet. :twisted: