Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP-Session schliesst nicht (https://www.delphipraxis.net/55652-ftp-session-schliesst-nicht.html)

freq.9 24. Okt 2005 22:16


FTP-Session schliesst nicht
 
Ich versuche über TTcpClient eine FTP-Verbindung herzustellen und das macht auch keine Probleme, aber das Verbindung kappen macht mir sorgen. Derzeit sehen meine Commands wie folgt aus:

Code:
USER freq9
PASS test
CWD downloads/
QUIT
Aber wenn ich dann auf meinem Linux-Rechner nachschaue ist die Session weiterhin aktiv. Im Code sieht es wie folgt aus:

Delphi-Quellcode:
.
      try
        with TcpClient do
        begin
          RemoteHost := '192.168.1.13';
          RemotePort := '21';
          Active := True;
          Sendln('USER freq9');
          Sendln('PASS test');
          Sendln('CWD downloads/');
          Sendln('QUIT');
          Disconnect;
          Active := False;
          Close;
        end;
      finally
        TcpClient.Free
      end;
Diese recht komische Folge kan nun zustande, weil die Session einfach nicht gekillt wird:

Delphi-Quellcode:
.
          Sendln('QUIT');
          Disconnect;
          Active := False;
          Close;
Auf meinem Linux-Server wo ich einen FTP-Server am laufen habe (mit anderen FTP-Clients getestet) habe ich dann in den Prozessen folgenden Eintrag:

Code:
freq9      357  0.0  0.4   6388  2404 pts/2    S+   01:08   0:00 proftpd: freq9 - zeev: IDLE

ripper8472 24. Okt 2005 22:41

Re: FTP-Session schliesst nicht
 
vielleicht solltest du zwischen den kommandos die daten annehmen, die der server dir schickt...

freq.9 25. Okt 2005 13:16

Re: FTP-Session schliesst nicht
 
Zitat:

Zitat von ripper8472
vielleicht solltest du zwischen den kommandos die daten annehmen, die der server dir schickt...

In wiefern? Ich kenne das FTP-Protokoll leider nicht so unbedingt. Ich habe auch mal bei onReceive mir Buf in ein Memo schreiben lassen, aber da kam nichts.

Flocke 25. Okt 2005 15:37

Re: FTP-Session schliesst nicht
 
Siehe RFC 959.

Außerdem basiert FTP auf dem Telnet Protokoll (RFC 854), dass du als unterste Schicht erst einmal umsetzen solltest (Stichwort DO/DONT/WILL/WONT).

Wenn dir das alles nichts sagt, dann nimm lieber eine fertige FTP- oder wenigstens Telnet-Komponente.

ripper8472 25. Okt 2005 18:06

Re: FTP-Session schliesst nicht
 
sniffe einfach mal eine ftp session. dann siehst du, was genau abgeht.
du musst nicht wirklich ein telnetprotokoll benutzen. einfach commands senden und empfangen reicht schon. du musst nur auf die zeilenpufferung achten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz