OpenFTP() dauert bei mir sehr lange. Bis zu 10sek. ist das Programm blockiert. Die Verbindung wird dann aufgebaut und SendFTPFile(...) funktioniert; bis auf die Tatsache, daß im Asyncron-Modus der Wert #PB_FTP_Finished nicht erreicht wird und der Start des Transfers (Ergebnis = FTPProgress(ftpNo)) ebenfalls sehr lange dauert.
"ftpNo = OpenFTP(#PB_Any, FTP_Server$, FTP_User$, FTP_Pwd$)"
Hast jemand eine Idee wo das Problem liegen könnte?
FTP :: OpenFTP()
Re: FTP :: OpenFTP()
welchen Server konnektierst Du? Die Ftp-Lib hat Probleme mit Microsoft Ftp-Servern.Mr.X hat geschrieben:Hast jemand eine Idee wo das Problem liegen könnte?
Ansonsten kannst Du mal testen, ob es besser wird, wenn das Passive-Flag gesetzt ist.
Grüße ... Kiffi
a²+b²=mc²
Re: FTP :: OpenFTP()
... ist ein bekannter Fehler in PBMr.X hat geschrieben:... daß im Asyncron-Modus der Wert #PB_FTP_Finished nicht erreicht wird...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
Re: FTP :: OpenFTP()
Kann jetzt spontan nicht beantworten, welche Server Strato einsetzt.Kiffi hat geschrieben:welchen Server konnektierst Du? Die Ftp-Lib hat Probleme mit Microsoft Ftp-Servern.
Keine Verbesserung. Hatte ich bereits zuvor getestet, das Passive-Flag explizit zu setzen und aich Port 21 zu benutzen, obwohl beide Einstellungen von PB ja als default gesetzt sein sollen.Ansonsten kannst Du mal testen, ob es besser wird, wenn das Passive-Flag gesetzt ist.
Re: FTP :: OpenFTP()
Der betreffende Code-Abschnitt ...
Debugger Ausgabe
Code: Alles auswählen
Procedure FTP_Upload()
Debug "Upload"
ftpNo = 1
StatusBarText(#STB_Main, 2, "öffne FTP-Verbindung ...")
ftpNo = OpenFTP(#PB_Any, #FTP_Server, #FTP_User, #FTP_Pwd, #True, 21)
Debug ftpNox
If ftpNo
Result = SetFTPDirectory(ftpNo, #FTP_Directory)
Debug Result
Debug RWA_Datapath$ +"RWA_Liste.DAT"
Result = SendFTPFile(ftpNo, RWA_Datapath$ +"RWA_Liste.DAT", "rwa_liste.dat", #True)
; Größe ist kleiner 10 KB
Debug Result
TimeStart = Date()
Repeat
ftp_Transfer = FTPProgress(ftpNo)
Select ftp_Transfer
Case #PB_FTP_Started
Debug "starting ftp"
Case #PB_FTP_Error
AbortFTPFile(ftpNo)
Break
Case #PB_FTP_Finished
Debug "finished ftp"
Default
Delay(100)
Debug ftp_Transfer
EndSelect
; ohne Timeout kein Ende
If (Date() - TimeStart) > 30
StatusBarText(#STB_Main, 2, "Transfer abgebrochen (TimeOut!)")
Debug "Timeout!"
Delay(2000)
Break
EndIf
While WindowEvent() : Wend
Until ftp_Transfer = #PB_FTP_Finished
Result = SendFTPFile(ftpNo, RWA_Datapath$ +"RWA_TimeStamp", "rwa_timestamp", #False)
Debug Result
CloseFTP(ftpNo)
EndIf
EndProcedure
- R:\RWA\RWA_Liste.DAT
init network
1
---
1
2
Upload
0
1
R:\RWA\RWA_Liste.DAT
1
starting ftp
starting ftp
[...]
starting ftp
starting ftp
Timeout!
1