Autor Beitrag
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: So 12.03.06 02:27 
Abend Leute!
Ich versuche jetzt schon länger krampfhaft es zu schaffen ein selbstgeschriebenes FTP-Server/Client Programm auf 2 Rechnern zum arbeiten zu bewegen.
Nach einigen kleingkeiten bin ich wieder auf mein lieblingsproblem gestoßen

"Connection Closed Gracefully"

Finde ich nett, dass mir Indy das automatisch trennt, bloß ist das blöd, dass das genau nach meinen idFTP1.Connect; eintritt, sodass ich sofort wieder rausgeworfen werde! Ports müssten eigentlich alle stimmen, IP-Adresse haut auch hin. PW und User dürften keine Rolle spielen, weil ich beim Server ins Ereignis OnUserLogin einfach generell alle authentifiziere.

Im Prinzip ist es egal, ob ich das Connect in ein try..except block packe oder nicht, aus der Verbindung fliege ich jedes mal wieder raus.

Wie verdammt nochmal kann das gescheit funktionieren???

Grüßle alias5000

PS.: Es dreht sich um Indy 9

_________________
Programmers never die, they just GOSUB without RETURN
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: So 12.03.06 09:07 
Funktioniert es denn wenn beides lokal läuft? Evtl. eine Firewall?

Poste mal relevanten Code/Einstellungen vom Server und dem Client.
alias5000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: So 12.03.06 10:48 
Aso, ich war gestern abend recht genervt, weil ich dem login über 3h gesessen bin und sich fast nix bewegt hat.
Das ganze läuft ausschließlich nur im LAN. Das mit der Firewall teste ich gleich, ich weiß bloß, dass ich den Server in der Windows-Firewall freigeschalten habe. Auf dem anderen Rechner läuft Win98 ohne eine Firewall.
Ich habs jetzt mal mit komplett angeschalteter Firewall getestet, aber das hat auch nix gebracht.
Ich werd mal das ganze testen, wenn ich die Porteinstellungen wieder zurückschraube auf Prot 21 und so.
EDIT: wenn ich das tue, bekomme ich ein "Connection reset by peer" im Client, also gehe ich wieder auf die Ports, die garantiert frei sind.

Der Code folgt hier:

Die Procedure, die ausführt wird, damit sich der Client einloggt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
if form2.IdFTP1.Connected then begin
  form2.IdFTP1.Quit;
end;
form2.IdFTP1.Host := Edit2.Text; //Ports sind im Objectinspector bereits festgelegt
//try
form2.IdFTP1.Connect;  //wenn ich try-except mit reinnehme, bleibt die Verbindung trotzdem nicht bestehen, sondern es folgt bei idFTP1.List eine AV
//except
//end;
form2.Label3.Caption := 'Logged in.';
if not idftp1.Connected then begin //nur um zu schauen, obs connected ist
  showmessage('nana');
end;
form2.IdFTP1.List(form2.ListBox1.Items);


So und jetzt beim Server, eigentlich ganz simpel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.IdFTPServer1UserLogin(ASender: TIdFTPServerThread;
  const AUsername, APassword: stringvar AAuthenticated: Boolean);
begin
AAuthenticated := true;
ASender.HomeDir := '';
ASender.CurrentDir := '';
end;


Für OnConnect ist kein Event-Handler eingetragen, muss ich evtl. dort noch was machen?

Gruß alias5000

_________________
Programmers never die, they just GOSUB without RETURN
schlumpf070
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 16



BeitragVerfasst: So 12.03.06 19:49 
ausblenden Delphi-Quelltext
1:
2:
ASender.HomeDir := '';  
ASender.CurrentDir := '';


^^ musst du soviel ich weiss die dirs angeben

ausblenden Delphi-Quelltext
1:
2:
ASender.HomeDir := 'c:\ftp';  
ASender.CurrentDir := '/';


^^ bin mir aber nicht sicher

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
alias5000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: So 12.03.06 20:16 
ne ich hatte des mal zwischendurch getestet, daran hägts nicht. Komischerweise funktioniert ein älteres Projekt, das neue aber nicht. Der Loginvorgang und so sind praktisch genau gleich.

_________________
Programmers never die, they just GOSUB without RETURN