Entwickler-Ecke
Internet / Netzwerk - Problem bei Dateiübertragung via IndyFTP
daimoi - So 25.04.10 01:06
Titel: Problem bei Dateiübertragung via IndyFTP
Hey Leute,
Ich versuche gerade Dateien über die IndyFTP auszutauschen, aber wenn ich versuche den .GET Befehl beim Clienten auszuführen erhalte ich folgende Fehlermeldung beim Clienten aus der ich nicht schlau werde:
"Data port can only be used by the same IP address used by the control connection."
Weiß einer was da falsch läuft? Die Dataports habe ich auf 0 und der Client ist passiv.
Wenn ich versuche Lokal eine Datei zu übertragen klappt es, wenn ich aber versuche durchs Internet zu übertragen erhalte ich den o.g. Fehler.
Der Port für den Clienten ist offen, es scheitert beim übertragen.
Xentar - So 25.04.10 02:44
Hast du mal etwas Code für uns?
Besteht die FTP Verbindung schon, wenn du das .Get aufrufst?
daimoi - So 25.04.10 13:02
Habs schon selbst gelöst, einfach beim Server unter FTPSecurityOptions (im Object Inspector) das RequirePASVFromSameIP und das RequirePORTFromSameIP ausschalten. Fertig.
daimoi - So 25.04.10 15:25
Okay, anderes Problem. Komischerweise erhalte ich jetzt die Fehlermeldung am Client "Indy FTP Server ready." gefolgt von einem "Not logged in."
Client:
Delphi-Quelltext
1: 2: 3: 4:
| IdFTP1.Username := UserIDEdit.Text; IdFTP1.Password := PasswordEdit.Text; IdFTP1.Host := FtpServerEdit.Text; IdFTP1.Connect; |
Server:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm22.ServerUserLogin(ASender: TIdFTPServerContext; const AUsername, APassword: string; var AAuthenticated: Boolean); begin AAuthenticated := True; end; |
Moderiert von
Narses: Delphi-Tags hinzugefügt
ALF - So 25.04.10 15:41
Hi, und wo vergleichst Du Username und Password bevor Du AAuthenticated := True; setzt!?
Oder passiert dies woanders!?
Gruss Alf
daimoi - So 25.04.10 16:06
ALF hat folgendes geschrieben : |
Hi, und wo vergleichst Du Username und Password bevor Du AAuthenticated := True; setzt!?
Oder passiert dies woanders!?
Gruss Alf |
Gar nicht, ich logge mich anonym ein.
Ich möchte keinen FTP Server in dem Sinne erstellen sondern einfach Dateien zwischen Client und Server (in beide Richtungen) übertragen und das mache ich über das FTP Protokoll.
Xentar - So 25.04.10 17:02
Wenn du einfach nur Daten austauschen möchtest, warum nimmst du dann nicht einen normalen TCP Clien und Server?
daimoi - So 25.04.10 17:07
Xentar hat folgendes geschrieben : |
| Wenn du einfach nur Daten austauschen möchtest, warum nimmst du dann nicht einen normalen TCP Clien und Server? |
Weil die A. nicht in beide Richtungen gehen und B. umständlicher sind.
Übrigens hab ich's jetzt hinbekommen, hatte beim Client ein OnConnected Event stehen. Keine Ahnung wieso dass einen Fehler verursacht, aber nach dem entfernen geht es.
Xentar - So 25.04.10 17:20
daimoi hat folgendes geschrieben : |
| Weil die A. nicht in beide Richtungen gehen |
Tun sie nicht? Dann bedien ich die wohl falsch, dass das geht :(
daimoi hat folgendes geschrieben : |
| Übrigens hab ich's jetzt hinbekommen, hatte beim Client ein OnConnected Event stehen. Keine Ahnung wieso dass einen Fehler verursacht, aber nach dem entfernen geht es. |
Ok, dann ist die Frage wohl erledigt :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!