Problem mit wxFTP, GetFileSize
-
Hallo C++ Gemeinde,
In einer Anwendung lese ich online die Größe einer Datei aus. Was auch ohne Probleme mit der Funktion wxFTP::GetFileSize() funktioniert.
Die FTP Verbindung wird im laufe des weiteren Programmverlaufes geschlossen und später auch mal wieder geöffnet.
Dabei kommt der nun der Hacken, wenn ich die Verbindung ein zweites mal aufbaue und versuche die wxFTP::GetFileSize() Funktion auszuführen, erhalte ich vom Server einen "Bad Status" zurück und der Befehl wird nicht ausgeführt.Beim öffnen von Stream bin ich schon mal auf ein ählich gelagertes Problem gestoßen, hierbei konnte ich mit behelfen indem ich beim Inputstrem zum Server einen wxFTP::Reset() ausführte. Das Problem lag dabei, das die Server-Antwort für den Abbruch durch delete mywxFTP nicht mehr von meinen Programm entgegen genommen wurde. Und dieser dann im nächsten durchlauf dazu führte das er nicht die richtige Server antwort erhielt.
Ich nehme an das dies hier auch irgendwo das Problem ist, und frage mich nun wie ich vom Server die durch den abbruch der ersten Verbindung entstandenen Rückgabe wert ordentlich entgegennehme, das ich bei der nächsten Verbindung nicht wieder die "falsche Rückmeldung" bekomme.
Hier mal eine kleines Testprogramm in dem ich zweimal die Größe abfragen will.
wxFTP myftp; myftp.SetUser(_T("USERNAME")); myftp.SetPassword(_T("PASSWORT ZUM LOGIN")); myftp.SetTimeout(120); wxFileName lokalFilePath(_T("C:\\test\\DATEINAME")); Show(true); if (myftp.Connect(_T("NAME DER DATEI") )) { *myCount << _T("\n") << _T("Verbunden"); *myCount << _T("\n") << _T("Dateigroesse = "); int r1 = myftp.GetFileSize(_T("NAME DER DATEI")); *myCount << r1; // Verbingunsabbau myftp.Disconnect(); // Neuaufbau myftp.Connect(); *myCount << _T("\n") << _T("Dateigroesse = "); int r2 = myftp.GetFileSize(_T("NAME DER DATEI")); *myCount << r2; }
Besten Dank im Voraus
-
Hab gerade mal ein paar Forumsbeiträge von mit Durchgesehen und bemerkt das dieser hier noch keinen Lösungsansatz hatt
Das es ja bereits eine Lösung gibt hier mal der Link dazu. Bei dem Fehler handelte es sich nämlich un einen BUG im wxWidgets...
http://www.c-plusplus.net/forum/viewtopic-var-t-is-265385-and-highlight-is-.html