AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi FTP-Error # 10054 Connection Reset by peer
Thema durchsuchen
Ansicht
Themen-Optionen

FTP-Error # 10054 Connection Reset by peer

Ein Thema von Magier · begonnen am 11. Feb 2009 · letzter Beitrag vom 11. Feb 2009
Antwort Antwort
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#1

FTP-Error # 10054 Connection Reset by peer

  Alt 11. Feb 2009, 00:04
Hey ho,

ich habe gerade ein ziemliches Problem mit meinem Programm das Dateien per FTP hochladen soll.

Folgendes zum Programm:
Das Programm soll zuerst von JPG Files 2 Thumbs machen (1. ca. 600*400, 2. ca. 125*100). Wenn die alle erstellt sind, sollen die 3 verschiedenen groessen auf nen ftp server hochgeladen werden. Das funktioniert soweit ganz gut. Allerdings bricht er beim hochladen nach einiger Zeit ab mit der Fehlermeldung:

Zitat:
Socket Error # 10054 Connection Reset by peer
Der Fehler tritt immer dann auf wenn gerade eine Datei in Originalgroesse hochgeladen wird. Ausserdem ist keine Zeit erkennbar nach der getrennt wird. Einmal nach 3 Dateien oder einmal nach 20.
Es scheint ja so, dass die Verbindung aufgrund einer Timeouts oder dergleichen abgebrochen wird, nur die Frage ist natuerlich wie umgehe ich das oder wie merke ich dass die Verbindung verloren wurde und verbinde neu?

Ich benutze die Indy FTP Komponente zum hochladen.

Hier Teile meines Quellcodes:
Delphi-Quellcode:
  connect;

  if not jadd then
    myftp.MakeDir(form1.cb_directory.Text);

  myftp.ChangeDir(form1.cb_directory.Text);

  for i:=0 to jfiles.Count-1 do begin
    filename := ExtractFilename(jfiles[i]);
    destination := filename;
    ext := ExtractFileExt(destination);
    while myftp.Size('p_' + destination) > -1 do begin
      j := j + 1;
      destination := copy(destination, 0, length(destination)-length(ext))+inttostr(j)+ext;
    end;
    myftp.Put(dir + 'p_' + filename, 'p_' + destination);
    myftp.Put(dir + 'm_' + filename, 'm_' + destination);
    myftp.Put(dir + 'g_' + filename, 'g_' + destination);
  end;
  myftp.Quit;
Und dann habe ich noch eine 2 Frage: Wie kann ich dadrauf regieren wenn z.b. keine Verbindung zum Internet besteht, der Benutzername falsch war oder der Host nicht zu erreichen ist. Wie komme ich an den Fehlercode der mir sagt was passiert ist damit ich ihn selber zu einer Fehlermeldung verarbeiten kann?

Viele Gruesse und schon mal viele dank
Magier
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: FTP-Error # 10054 Connection Reset by peer

  Alt 11. Feb 2009, 02:05
Versuche mal den Passiv Transfer zu akivieren. (myftp.Passive := True)
Dabei werden Kommandos und Daten über den gleichen Port übertragen.
Profesionelle FTP Programme können optional in periodischen Abständen ein NOOP (No-Operation) Kommando abschicken, um zu verhindern dass der Server die Verbindung beendet (weil er "denkt" da kommt nichts mehr).

Du könntest auch einen Timer mit timeout=30000 verwenden, um alle 30s dieses myftp.NOOP aufzurufen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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