Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP-Download in einem Dienst (https://www.delphipraxis.net/87909-ftp-download-einem-dienst.html)

Igotcha 7. Mär 2007 09:39


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:
    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;
Ohne die FTP-Kommandos läuft der Service rund:

Delphi-Quellcode:
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.
Mit diesen erhalte ich in der Log-Ausgabe

Delphi-Quellcode:
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.
Gruß Igotcha

DelphiKlaus 7. Mär 2007 09:48

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

hoika 7. Mär 2007 09:53

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

Igotcha 7. Mär 2007 09:54

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:
(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
Gruß Igotcha

Igotcha 7. Mär 2007 10:04

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 13:48 Uhr.

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