Autor Beitrag
daimoi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 25.04.10 01:06 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 25.04.10 02:44 
Hast du mal etwas Code für uns?

Besteht die FTP Verbindung schon, wenn du das .Get aufrufst?

_________________
PROGRAMMER: A device for converting coffee into software.
daimoi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  IdFTP1.Username := UserIDEdit.Text;
  IdFTP1.Password := PasswordEdit.Text;
  IdFTP1.Host := FtpServerEdit.Text;
  IdFTP1.Connect;

Server:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm22.ServerUserLogin(ASender: TIdFTPServerContext;
  const AUsername, APassword: stringvar AAuthenticated: Boolean);
begin
  AAuthenticated := True;
end;

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: 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

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
daimoi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 25.04.10 16:06 
user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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?

_________________
PROGRAMMER: A device for converting coffee into software.
daimoi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 25.04.10 17:07 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 25.04.10 17:20 
user profile icondaimoi hat folgendes geschrieben Zum zitierten Posting springen:
Weil die A. nicht in beide Richtungen gehen

Tun sie nicht? Dann bedien ich die wohl falsch, dass das geht :(

user profile icondaimoi hat folgendes geschrieben Zum zitierten Posting springen:
Ü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 :)

_________________
PROGRAMMER: A device for converting coffee into software.