![]() |
FTP-Download in einem Dienst
Hallo zusammen,
ich möchte einen Dienst schreiben, der in regelmäßigen Abständen von einem Server per FTP (Indy 9) eine Datei runterlädt. Ich verwende dazu in meinem Dienst einen Timer und im OnTimer-Event folgenden Code:
Delphi-Quellcode:
Ohne die FTP-Kommandos läuft der Service rund:
Timer1.Enabled := false;
WriteLog('Prüfen auf neue Updates...'); // ----------------------------------------------------- xFTP.Connect(true); xFTP.Get('version.txt', 'd:\version.txt'); xFTP.Disconnect; // ----------------------------------------------------- WriteLog('Prüfen auf neue Updates beendet.'); Timer1.Enabled := true;
Delphi-Quellcode:
Mit diesen erhalte ich in der Log-Ausgabe
07.03.2007 10:28:03: Update-Server: localhost
07.03.2007 10:28:03: Update-Service started... 07.03.2007 10:28:13: Prüfen auf neue Updates... 07.03.2007 10:28:13: Prüfen auf neue Updates beendet. 07.03.2007 10:28:23: Prüfen auf neue Updates... 07.03.2007 10:28:23: Prüfen auf neue Updates beendet. 07.03.2007 10:28:33: Prüfen auf neue Updates... 07.03.2007 10:28:33: Prüfen auf neue Updates beendet. 07.03.2007 10:28:43: Prüfen auf neue Updates... 07.03.2007 10:28:43: Prüfen auf neue Updates beendet. 07.03.2007 10:28:53: Prüfen auf neue Updates... 07.03.2007 10:28:53: Prüfen auf neue Updates beendet. 07.03.2007 10:28:56: Update-Service stopped.
Delphi-Quellcode:
Gruß Igotcha
07.03.2007 10:13:18: Update-Server: localhost
07.03.2007 10:13:18: Update-Service started... 07.03.2007 10:13:28: Prüfen auf neue Updates... 07.03.2007 10:13:38: Prüfen auf neue Updates... 07.03.2007 10:13:48: Prüfen auf neue Updates... 07.03.2007 10:13:58: Prüfen auf neue Updates... 07.03.2007 10:14:08: Prüfen auf neue Updates... 07.03.2007 10:14:18: Prüfen auf neue Updates... 07.03.2007 10:14:28: Prüfen auf neue Updates... 07.03.2007 10:14:38: Prüfen auf neue Updates... 07.03.2007 10:14:42: Update-Service stopped. |
Re: FTP-Download in einem Dienst
Hallo,
vielleicht reichen die zehn Sekunden einfach nicht aus, um die Verbindung aufzubauen. Probier es doch erstmal mit einem größeren Intervall |
Re: FTP-Download in einem Dienst
Hallo,
wenn Logs, dann mache es doch richtig. das Connect liefert doch einen Fehler, falls es nicht klappt. Oder ne Exception, oder es gibt ein IsConnected. Heiko |
Re: FTP-Download in einem Dienst
Ich denke nicht, dass es das Intervall von 10 Sekunden ist (20 und mehr machen übrigens im Ergebnis keinen Unetrschied).
Ich vermute eher, der FTP-Download verkrümelt sich in einen eigenen Thread und kommt von da nicht mehr zurück. @hoika Es gibt ja keinen Fehler laut FTP-Server-Log:
Delphi-Quellcode:
Gruß Igotcha
(000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.16c beta (000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de) (000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> 220 Please visit [url]http://sourceforge.net/projects/filezilla/[/url] (000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> USER xbasupdate (000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> 331 Password required for xbasupdate (000016) 07.03.2007 10:55:58 - (not logged in) (127.0.0.1)> PASS ************ (000016) 07.03.2007 10:55:58 - xbasupdate (127.0.0.1)> 230 Logged on (000016) 07.03.2007 10:55:58 - xbasupdate (127.0.0.1)> TYPE I (000016) 07.03.2007 10:55:58 - xbasupdate (127.0.0.1)> 200 Type set to I (000016) 07.03.2007 10:55:58 - xbasupdate (127.0.0.1)> SYST (000016) 07.03.2007 10:55:58 - xbasupdate (127.0.0.1)> 215 UNIX emulated by FileZilla |
Re: FTP-Download in einem Dienst
Grrrr, Ruder zurück, es läuft alles:
Die Datei existierte bereits im Ziel und konnte nicht überschrieben werden - alles andere an Fehlern hatte ich abgeprüft ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz