Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ftp verbindung nicht beenden zu lassen (https://www.delphipraxis.net/3491-ftp-verbindung-nicht-beenden-zu-lassen.html)

aaron 15. Mär 2003 19:49


ftp verbindung nicht beenden zu lassen
 
ist es möglich eine ftp verbindung nicht beenden zu lassen, oder eine unterbrochene sofort wieder zu verbinden? habe die verbindung mit IdFTP1 von indy erstellt. beendet sich die verbindung überhaupt von selbst?

Daniel B 15. Mär 2003 19:52

Re: ftp verbindung nicht beenden zu lassen
 
Hallo aaron,
Zitat:

Zitat von aaron
beendet sich die verbindung überhaupt von selbst?

Wäre möglich wenn der Server ein TimeOut hat. Das der nach einer halben Stunde o.ä. abbricht/unterbricht.

Grüsse, Daniel :hi:

[edit=Daniel B]Hab mein Namen falsch geschrieben. MfG Daniel B.[/edit]

CalganX 15. Mär 2003 19:55

Hi,
wenn ich dich richtig verstanden habe, dann reicht es, wenn du alle 1,5 sekunden "noop" an den FTP-Server sendest...

Chris

aaron 15. Mär 2003 20:31

aber was ist wenn keine daten gesendet oder empfangen werden?

CalganX 15. Mär 2003 20:50

Ich verstehe deine Frage nicht ganz. Könntest du sie bitte ein wenig deutlicher formulieren?

Chris

aaron 15. Mär 2003 21:07

FTP-Server trennen auch eine Verbindung, wenn seit längerem kein Transfer stattgefunden hat. dann würde mir "noop" doch auch nichst nützen, oder?

CalganX 15. Mär 2003 21:13

Doch, denn dann sendest du etwas. noop steht für no operation. Du signalisierst den Server einfach nur, dass keine Operation durchgeführt wird. Und wenn du noop sendest, dann wird ein String gesendet, den der Server verarbeiten muss. Und dieses Verarbeiten hält die Verbindung offen.

Chris

aaron 15. Mär 2003 21:19

und wie kommen diese fehlermeldungen dann zustande?

http://skripts.virtualave.net/a1.gif
http://skripts.virtualave.net/a.gif

CalganX 15. Mär 2003 21:29

Hm... die erste könnte von IdFTP selbst kommen. Schaue dortmal in den Eigenschaften. Die zweite verstehe ich nicht ganz. Wenn ich das richtig verstehe, dann wird die Verbindung durch den Server beendet, was eigentlich nur dann passieren kann, wenn nichts gesendet wird. Du kannst es stattdessen ja mal mit LIST versuchen. Dabei erhälst du ja Daten...

Chris

Daniel B 15. Mär 2003 21:34

Hi Chris,
Zitat:

Zitat von Chakotay1308
Und wenn du noop sendest, dann wird ein String gesendet, den der Server verarbeiten muss. Und dieses Verarbeiten hält die Verbindung offen.

Wie sicher bist Du denn das es so ist?

Grüsse, Daniel :hi:

CalganX 15. Mär 2003 21:55

@Daniel: eigentlich sehr sicher. Natürlich gibt es das Risiko, dass ich falsch liege. Aber eigentlich bin ich mir sehr sicher.
Im Moment vermute ich eher, dass die Indy-Komponente die Verbindung beendet. Deswegen würde ich vorschlagen mir mal die Optionen anzusehen, ob es da nicht irgendeine Eigenschaft gibt, die die Verbindung nach einer bestimmten Zeit beendet.

Chris

aaron 15. Mär 2003 21:58

welche eigenschaften der indy-komponente sollte ich mir den anschauen und geg. verändern? :)

CalganX 15. Mär 2003 22:00

Uups... Diese Funktion/Eigenschaft gibt es nicht. Sorry! OK, wie sendest du noop? Du solltest es so machen:
Delphi-Quellcode:
IdFTP1.NoOp;
Chris

aaron 15. Mär 2003 22:04

Code:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  IdFTP1.Noop;
end;

und

procedure TForm1.IdFTP1Status(axSender: TObject; const axStatus: TIdStatus;
  const asStatusText: string);
begin
  Timer1.Enabled := IdFTP1.Connected;
end;
so mache ich das
danke für deine hilfe :D

CalganX 15. Mär 2003 22:09

Funktioniert es jetzt, oder was?

Chris

aaron 15. Mär 2003 22:10

nein, so habe ich es gemacht und dann kamen diese fehlermeldungen...

[edit=Daniel B]Doppelpost gelöscht. MfG Daniel B.[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 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