AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy: "Try later, data connection in use"
Thema durchsuchen
Ansicht
Themen-Optionen

Indy: "Try later, data connection in use"

Ein Thema von Nogge · begonnen am 17. Mai 2006 · letzter Beitrag vom 1. Jul 2006
Antwort Antwort
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#1

Indy: "Try later, data connection in use"

  Alt 17. Mai 2006, 13:00
Hallo Community,
Ich erhalte ständig die oben genannte Fehlermeldung von einem FTP-Server, der nur eine best Anzahl an Verbindungen pro Benutzer zulässt. D.h. wenn ein Datentransfer stattfindet, kann ich nicht gleichzeitig auf dem FTP-Server herumstöbern. Die Fehlermeldung kommt immer erst dann, wenn ich den List-Befehl aufgerufen habe. Ich möchte gerne sofort beim Verbinden mit dem Server wissen, wie viele Verbindugen zugelassen sind bzw. mithilfe der Indy-Komponenten eine Eigenschaft auslesen, in der die Information enthalten ist.
Weiß jmd, wo bzw. wie ich meine Vorstellungen umsetzen kann?

mfg
Nogge
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#2

Re: Indy: "Try later, data connection in use"

  Alt 30. Mai 2006, 20:01
Ich habe es jetzt doch wieder selbst herausgefunden:
Delphi-Quellcode:
      IdFTP1.LastCmdResult.NumericCode // 425
IdFTP1.LastCmdResult.Text[0] // "try later..."
NumericCode gibt die ID für die Antwort auf den letzten Befehl wieder.
Mithilfe von Text[0] kann man dann die Nachricht, die auch bei der Fehlermeldung erscheint, als String anzeigen lassen.
Der Fehler tritt beim List-Befehl der IndyFTP-Komponente auf, d.h. dieser muss innerhalb eines try-except-Blocks stehen.
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#3

Re: Indy: "Try later, data connection in use"

  Alt 1. Jul 2006, 09:18
Zitat von Nogge:
Ich möchte gerne sofort beim Verbinden mit dem Server wissen, wie viele Verbindugen zugelassen sind bzw. mithilfe der Indy-Komponenten eine Eigenschaft auslesen, in der die Information enthalten ist.
Ich habe jetzt außerdem herausgefunden, dass der Fehler eine andere Ursache als das Verbindungslimit hat: Beim FTP-Protokoll gibt es nur 2 Übertragungskanäle. Der eine ist für das Übertragen der FTP-Befehle (z.B. 'CDUP', 'USER' usw.) und der andere für das Trasferieren von reinen Daten zuständig. Dieser Datenkanal kann immer nur eine Aktion zur selben Zeit ausführen, d.h. entweder werden nach dem LIST-Befehl die Dateinamen usw. von einem Verzeichnis auf dem FTP-Server übertragen oder es wird eine Datei in Form eines Streams gesendet.
Bei Indy10 gibt es die Events OnDataChannelCreate und OnDataChannelDestroy, in diese ich eine Boolean-Variable (mit Namen: DataChannelInUse) geschrieben habe, die je nach Event auf true bzw. false gesetzt wird. So kann nun frühzeitig getestet werden, ob das Listing ohne (unterdrückte) Fehlermeldung ausgeführt werden kann.
Ich persönlich wäre sehr froh, wenn mir jemand sagen kann, ob und, wenn, wie es möglich ist, (ohne eine weitere idFTP-Komponente) mehrere Datenkanäle parallel zu erstellen und zu verarbeiten. Ich fände es nämlich praktisch, wenn ich neben eines Downloads gleichzeitig mit dem List-Befehl auf den FTP-Server zugreifen könnte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz