![]() |
FTP Download bricht ab
aloha zusammen...
ich hab mir in denn letzten tagen ein tool gebastelt was daten auswertet die auf einem ftp server liegen... das programm läuft folgender massen ab... - user wählt die files aus die er downloaden möchte und startet die auswertung... - als erstes erstellt das programm in einem .txt file eine liste der files die heruntergeladen werden müssen... - danach lädt das programm jedes file vom ftp herunter (über indy10) --> und genau an dieser stelle hängt sich mein programm manchmal auf manchmal nicht, und ich hab leider keine ahnung warum :pale: hier ist mal der source code vom download
Delphi-Quellcode:
diese prozedur muss nach jedem gelesenen satz aus dem txt file gestartet werden...
//******************************************************************************
// prDownload --> Download File from FTP Client * //****************************************************************************** procedure TMain_Form.prDownload(sFile, sPath : String); begin Application.ProcessMessages; FTP.Noop; FTP.Get(sFile, sPath, True); lstbox_history.Items.Add('File ' + sFile + ' Downloaded and Saved in ..\Temp_Files\'); FTP.Noop; Application.ProcessMessages; end; hat jemand vielleicht eine idee warum mein progarmm sich aufhängt??? könnte es am ftp liegen??? |
Re: FTP Download bricht ab
*push*
|
Re: FTP Download bricht ab
Was passiert, wenn du mit einem ganz normalen FTP - Client (z.B. WS_FTP) die Dateien in gleicher Reihenfolge runterlädst ?
|
Re: FTP Download bricht ab
Hallo,
und was passiert, wenn du deinen eigenen Rechner als ftp-Server nimmst (localhost) FTP.Get ist doch eine Funktion mit Fehlercode ? Was steht dort drin ? Heiko |
Re: FTP Download bricht ab
@shima...
nein habe ich noch nicht probiert... wäre aber mal ein versuch wert! @hoika ne denn returncode frage ich nicht ab bei meinem get befehl... müsste ich mich mal nach einem bsp. umschauen wie das funktioniert... was mich aber wundert, ist das der fehler immer nur sporadisch auftritt... kann es sein das es auch an der i-net leitung liegt, das wenn diese ein schlechtes signal hat denn download unterbricht bzw. die verbindung trennt??? |
Re: FTP Download bricht ab
Hallo,
Bsp ??? ich kenne Indy nicht, aber meistens ist es ein Integer, der 0 ist, wenn alles OK war.
Delphi-Quellcode:
Sidn das immer die gleichen Dateien,
var
iRet: Integer; begin iRet:= ftp.Get(); if iRet<>0 then begin argzzzzz end; oder kommt der Fehler viell. nur bei bestimmten ? Heiko |
Re: FTP Download bricht ab
ich hab vorhin mal kurz die beschreibung überflogen vom ftp.get befehl...
dort stand was von status = ftpReady, ftpAbbort etc. die frage bei welchen files es passiert kann ich im moment noch nicht beantworten... ich hab meinen source code jetzt folgender maßen geändert:
Delphi-Quellcode:
an der stelle wo ich den retourn code dieser funktion abfrage, geb ich dann eine fehlermeldung in eine listbox aus falls der download nicht geklappt haben solte (inkl. dateiname)...
//******************************************************************************
// --> fnDownloadFile <-- Download a File from FTP Server * //****************************************************************************** function TMain_Form.fnDownloadFile(sFileName, sPath : String) : Boolean; var bl : Boolean; begin // Download File Application.ProcessMessages; FTP.Noop; Try FTP.Get(sFileName, sPath, True, False); fnDownloadFile := True; Except //MessageDlg('Could Not Download the Selected File!', mtError, [mbOK], 0); fnDownloadFile := False; End; FTP.Noop; Application.ProcessMessages; end; so kann ich dann mal kontrollieren bei welchen files der fehler auftritt... ftp server trennen doch die verbindung automatisch wenn längere zeit kein befehl an denn ftp server geschickt wird... unterbinden kann ich das ja über denn 'noop' befehl... während eines downloads, kann ich diesen befehl aber nicht absetzen... kann es sein das wenn der dwonload über das limit hinausgeht wo er die verbindung trennt, auch während eines dwonloads die verbindung trennen würde??? |
Re: FTP Download bricht ab
Zitat:
Befehle werden ja über Port 21 abgewickelt; Daten laufen defaultmässig über Port 20. Wenn der Server nur Port 21 überwacht und und nicht berücksichtigt, dass über Port 20 gerade Daten laufen... Du kannst aber auch den Passiv-Mode einschalten, dann laufen Befehle & Daten nur über Port 21. Damit kannst du dir auch die NOOPs sparen, denn dein Programm wird ja wohl keine Pausen einlegen. |
Re: FTP Download bricht ab
wie der server eingestellt ist weiß ich nicht! ich greife lediglich auf ihn zu!
Zitat:
hmm doch das programm "kann" pausen einlegen.... es liegt immer am user der davor sitzt... er entscheidet nämlich wann daten vom ftp geholt werden und wie oft... die noops habe ich auch erst eingebaut als sich mal jemand beschwert hat, das eine fehlermeldung kam "connection reset by peer" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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