Seite 1 von 2

FTP - ExamineFTPDirectory trennt Verbindung

Verfasst: 05.04.2008 01:42
von STARGÅTE
Tachchen,

muss einen Bug melden

sobalt man ExamineFTPDirectory() aufruft wird die FTP-Verbindung getrennt, dass sollte nicht sein oder ?

Hier ein Beispiel, bitte eigege ServerDaten einsetzten:

Code: Alles auswählen

InitNetwork()
 
If OpenFTP(0, "ftp.xail.net", "dune2077", "********")
 
 Debug CheckFTPConnection(0)
    
 If ExamineFTPDirectory(0)
  Debug "Datenauflistung"
  While NextFTPDirectoryEntry(0)
   ;...
  Wend
  FinishFTPDirectory(0)
 EndIf

 Debug CheckFTPConnection(0)

EndIf
Jeder andere "Prozess" (Upload, Download, ...) trennt nicht die Verbindung.
Es wäre schlecht wenn ExamineFTPDirectory() sie weiter hin trennen würde. Dann müsste man immer wieder neu verbinden.

Verfasst: 05.04.2008 11:38
von Arachnophobia
Habs gerade mit verschiedenen FTPs lokal sowie remote probiert, funktioniert hier ohne Fehler.

Verfasst: 05.04.2008 13:58
von STARGÅTE
habe es bei mir auch noch mal mit anderen Server probiert, dabei habe ich festgestellt das bei manchen zufällig doch funzt, aber bei 80% der Fälle wird die Verbindung getrennt.

Womit könnte das zusammen hängen ?

Vllt sollte ich auch einfach erst noch auf die fertige 4.2 warten :roll:

Verfasst: 05.04.2008 14:33
von tobe
hi STARGÅTE,

das ergebnis von CheckFTPConnection() ist scheinbar nicht immer ganz richtig, aber die verbindung bleibt bei mir trotzdem offen.

mfG
tobe

Verfasst: 05.04.2008 15:28
von STARGÅTE
naja da ist aber trotzdem was faul,

zu in diesem Beispiel erhalte ich beim Verzeichniswechsel bei 5/10 Fällen eine 0

Code: Alles auswählen

InitNetwork() 
  
If OpenFTP(0, "ftp.xail.net", "dune2077", "********") 
  
 If ExamineFTPDirectory(0) 
  Debug "Datenauflistung" 
  Debug "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯" 
  While NextFTPDirectoryEntry(0) 
   Debug FTPDirectoryEntryName(0)
  Wend 
  FinishFTPDirectory(0) 
  Debug "_______________" 
  Debug ""
 EndIf 
 
 Debug SetFTPDirectory(0, "Dune2000")

 If ExamineFTPDirectory(0) 
  Debug "Datenauflistung" 
  Debug "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯" 
  While NextFTPDirectoryEntry(0) 
   Debug FTPDirectoryEntryName(0)
  Wend 
  FinishFTPDirectory(0) 
  Debug "_______________" 
  Debug ""
 EndIf 

EndIf 
Womit könnte das denn zusammen hängen, das diese Prozedur (bei mir) nur so halb funktionieren.

Ich habe ja wie oben schon gesagt bei anderen FPT Funktionen keine Probleme.

Wenn ich nur die ganze Zeit Uploade bleibt die Verbindung bestehen und CheckFTPConnection() liefert auch immer 1

Muss ich da irgendwelche Delay()'s mit reinschmeißen ?

EDIT: Jetzt wird noch besser , soeben habe ich von SetFTPDirectory() eine 0 zurück bekommen (also das der Verzeichniswechsel gescheitert ist), trotzdem bekam ich bei der Datenaufliestung das richtige Verzeichnis (das was ich gewechselt habe)

Verfasst: 05.04.2008 17:09
von tobe
ich persönlich tippe auf einen globalen bug mit den rückgabewerten in der ftp lib, leider treten die fehler immer nur sehr sporadisch auf, aber ist ja auch alles noch recht beta ;)
delay's hab ich auch mal ausprobiert haben aber nix geholfen.
hier ist Kiffi auch schon mal über das problem gestolpert

Verfasst: 06.04.2008 12:59
von walker
@Stargate:

das liegt wohl an der Anzahl der auf dem FTP-Server liegenden Dateien... Ich habe diesen sporadischen Fehler auch gehabt und habe den soweit einkreisen können... Einen entsprechenden Bug-Report habe ich bereits erstellt...

http://www.purebasic.fr/english/viewtopic.php?t=31763

Verfasst: 01.07.2008 01:18
von STARGÅTE
nun steht in dem Beitrag :
Fixed.
heißt das es ist bereits eine neue version da ? oder es ist dann später in der neuen Version gefixt ?

Verfasst: 01.07.2008 01:42
von edel
In der Regel fuer die naechste Version.

Verfasst: 01.07.2008 06:35
von Danilo
STARGÅTE hat geschrieben:heißt das es ist bereits eine neue version da ? oder es ist dann später in der neuen Version gefixt ?
Du kannst ja die neueste Beta-Lib *probieren*: http://purebasic.com/beta/windows/
Am besten vorher Backup der alten Lib machen.