Entwickler-Ecke

Internet / Netzwerk - Ftp Upload Fehler


Robii - Di 16.06.09 17:15
Titel: Ftp Upload Fehler
Hallo, ich bin es mal wieder. Ich möchte eine TextDatei auf meinen Ftp-Server hochladen. Klappt auch prima, nur immer nachdem die Datei hochgeladen worden ist, kommt folgende Fehlermeldung:
Zitat:
Socket Erorr # 10061 Connection refused


Folgenden Linke habe ich dazu im Internet gefunden:
http://help.globalscape.com/help/cuteftppro6/socket_error_=__10061.htm

Irgendwie hilft der mir aber auch nicht weiter, da es ein Server von Funpic.de ist & ich da keinen Port einstellen kann, und die Verbindung auch noch nicht genutzt ist.

Was hat das zu bedeuten ?
Gruß.


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 16.06.2009 um 17:24


Dude566 - Di 16.06.09 17:21

Wie lädst du denn die Datei auf deinen FTP, ich habe auch einen Funpic Server und kann dort ohne Probleme mit meinem eigenen FTP Client uploaden.


Robii - Di 16.06.09 17:24

Mit folgender Procedure lade ich die Datei hoch:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Upload(ATree: TMemoryStream);
var
  MyIdFtp: TIdFtp;
begin
  MyIdFtp := TIdFtp.Create;
  try
    MyIdFtp.Host := '*******.funpic.de';
    MyIdFtp.Username := '*******';
    MyIdFtp.Password := '******';
    MyIdFtp.Connect;
    MyIdFtp.Put(ATree,dName+'32.txt',false);
  finally
    MyIdFtp.Disconnect;
    MyIdFtp.Free;
  end;
end;


Wie gesagt, der Upload funktioniert auch, doch trotzdem wird die Fehlermeldung (s.o.) angezeigt.
Gruß


Dude566 - Di 16.06.09 17:34

Lass mal das false bei Put weg, und probier es dann noch einmal.


Robii - Di 16.06.09 17:42

Habe ein bisschen gegoogelt und den Quelltext selbst noch etwas geändert:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.Upload(ATree: TMemoryStream);
var
  MyIdFtp: TIdFtp;
begin
  MyIdFtp := TIdFtp.Create;
  try
    MyIdFtp.Host := 'ftp.++++.++.funpic.de';
    MyIdFtp.Username := '++++++++';
    MyIdFtp.Password := '++++++++';
    MyIdFtp.Connect;
    If MyIdFtp.Size(dName+'32.txt') > 0
      Then MyIdFtp.Delete(dName+'32.txt');
    MyIdFtp.Put(ATree,dName+'32.txt',False);
  finally
    MyIdFtp.Disconnect;
    MyIdFtp.Free;
  end;
end;


Funktion: Das Programm überprüft ob die Datei dName+'32.txt' vorhanden ist, wenn diese vorhanden ist, wird sie gelöscht und dann erneut hochgeladen. Folgender Fehler tritt in der rotmakierten Zeile auf:

Zitat:
Socket Error # 10054 Connection reset by peer.


Folgenden Link habe ich dazu gefunden:
http://newsgroups.cryer.info/borland/public.delphi.internet.winsock/200803/08032613564.html

Soweit ich das verstehe, heißt das, das mein Ftp-Server die Verbindung von alleine beendet,
warum tut er das, ich bin doch noch garnicht fertig? :-P

Gruß


Dude566 - Di 16.06.09 18:07

Dann mach deine MyFTP.Disconnect doch erst dann wenn du auch fertig bist. :roll:


Robii - Di 16.06.09 20:38

Wie funktioniert das denn ?

Zitat:
Soweit ich das verstehe, heißt das, das mein Ftp-Server die Verbindung von alleine beendet,
warum tut er das, ich bin doch noch garnicht fertig? :-P


Sicher das das hilft? Denn im Link stand, das der Server von sich aus die Verbindung trennt.
Gruß


Dude566 - Di 16.06.09 21:49

Die Verbindung wird mit Quit oder Disconnect getrennt, wer hat gesagt das es nach jedem Datentransfer erneut getrennt werden müsste?


Robii - Di 16.06.09 23:24

Niemand hat das gesagt, aber anscheinend beender der Server und nicht der User, also ich, die Verbindung.
Siehe Link. Gruß


Dude566 - Mi 17.06.09 17:21

Der Server von Funpic macht das aber nicht so einfach ohne deine Aufforderung dazu, wie sieht denn dein Text komplett aus, und versuche doch direkt nach dem (angebl.) Disconnect noch einmal etwas herunterzuladen.

Wenn das nicht klappt probiere es doch mal mit einem anderen Hoster oder einem portablem FTP.