XbFTP und Cacheproblem [erledigt]
Moderator: Moderatoren
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
XbFTP und Cacheproblem [erledigt]
Hallo,
ich nutze XbFTP von Phil Ide zum Datenaustausch mit einem Android-Device per FTP.
Meine Android-App erstellt für den Datenaustausch kleine Textdateien, die per FTP auf einem Webserver gespeichert, um dann von meinem Windows-Programm, per XbFTP heruntergeladen und verarbeitet werden. Wenn mein Windows-Programm die Datei heruntergeladen hat, wird diese auf dem Server gelöscht. Die Prüfung, ob auf dem Server eine zu verarbeitende Datei liegt erfolgt von meinem Windows-Programm manuell, es wird jedesmal wenn geprüft wird eine neue FTP-Verbindung aufgebaut und danach wird diese wieder beendet.
Jetzt kommt das Problem: in der von der App erstellten und vom Win-Programm heruntergeladenen Datei steht z.B. der Wert 100. Jetzt aktualisiert meine App die Datei in der dann der Wert 200 steht. Mein Windows-Programm holt die Datei, doch der Inhalt ist immer noch 100. Eine Prüfung der Datei direkt auf dem Webserver zeigt, dass darin der korrekten Wert von 200 steht.
Soweit ich das bisher im Netz gefunden habe muiss vom FTP-Programm eine bestimmte Flag gesetzt werden, damit die Datei nicht aus dem Cache geladen wird - nur wie kann ich das in XbFTP realisieren?
Das habe ich dazu gefunden: https://www.autoitscript.com/forum/topi ... dll-issue/
ich nutze XbFTP von Phil Ide zum Datenaustausch mit einem Android-Device per FTP.
Meine Android-App erstellt für den Datenaustausch kleine Textdateien, die per FTP auf einem Webserver gespeichert, um dann von meinem Windows-Programm, per XbFTP heruntergeladen und verarbeitet werden. Wenn mein Windows-Programm die Datei heruntergeladen hat, wird diese auf dem Server gelöscht. Die Prüfung, ob auf dem Server eine zu verarbeitende Datei liegt erfolgt von meinem Windows-Programm manuell, es wird jedesmal wenn geprüft wird eine neue FTP-Verbindung aufgebaut und danach wird diese wieder beendet.
Jetzt kommt das Problem: in der von der App erstellten und vom Win-Programm heruntergeladenen Datei steht z.B. der Wert 100. Jetzt aktualisiert meine App die Datei in der dann der Wert 200 steht. Mein Windows-Programm holt die Datei, doch der Inhalt ist immer noch 100. Eine Prüfung der Datei direkt auf dem Webserver zeigt, dass darin der korrekten Wert von 200 steht.
Soweit ich das bisher im Netz gefunden habe muiss vom FTP-Programm eine bestimmte Flag gesetzt werden, damit die Datei nicht aus dem Cache geladen wird - nur wie kann ich das in XbFTP realisieren?
Das habe ich dazu gefunden: https://www.autoitscript.com/forum/topi ... dll-issue/
Zuletzt geändert von peternmb am Do, 28. Dez 2017 11:18, insgesamt 1-mal geändert.
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Hi,
hat mit XbFTP nichts zu tun. Passiert bei unseren Anwendungen auch.
Das ist ein reines Cacheproblem, manchmal werden die Inhalte erst nach einem Neustart des
Android Gerätes sicht- bzw. kopierbar.
hat mit XbFTP nichts zu tun. Passiert bei unseren Anwendungen auch.
Das ist ein reines Cacheproblem, manchmal werden die Inhalte erst nach einem Neustart des
Android Gerätes sicht- bzw. kopierbar.
Gruß
Klaus
Klaus
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Hat die Datei immer den gleichen Namen ?
Wenn ja, was passiert, wenn man die Datei mit dem Explorer herunter lädt (der kann ja auch FTP), ist sie dann immer auf dem aktuellen Stand ?
Ansonsten muss man im XbFTP Quellcode nach den Funktionen sehen die aufgerufen werden (Windows API) und dann nach der Doku von M$ suchen.
Dort sollte dann auch ein solcher FLAG erwähnt werden.
iNet... Funktionen könnten es auch sein.
Wenn ja, was passiert, wenn man die Datei mit dem Explorer herunter lädt (der kann ja auch FTP), ist sie dann immer auf dem aktuellen Stand ?
Ansonsten muss man im XbFTP Quellcode nach den Funktionen sehen die aufgerufen werden (Windows API) und dann nach der Doku von M$ suchen.
Dort sollte dann auch ein solcher FLAG erwähnt werden.
Code: Alles auswählen
#define GENERIC_READ 0x80000000 // das steht schon in der CH Datei
#define INTERNET_FLAG_RELOAD 0x80000000 // das ist die Xbase++ Syntax für die Definition des erwähnten Flags
FtpGetFile oder FtpOpenFile wären gute Kandidaten um danach zu suchen.Forces a download of the requested file, object, or directory listing from the origin server, not from the cache.
The GopherFindFirstFile, GopherOpenFile, FtpFindFirstFile, FtpGetFile, FtpOpenFile, FtpPutFile, HttpOpenRequest,
and InternetOpenUrl functions utilize this flag.
iNet... Funktionen könnten es auch sein.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14651
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Es gibt in der 2.0 eine Funktion FTPClient(), die Alaska recht massiv aufgebohrt hat mit einem der letzten Builds. Eventuell klappt das damit besser?
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: XbFTP und Cacheproblem
Hallo Jan
du musst deine Android-App dazu bringen ihren Cache zu leeren bezw. den ftpd-daemon alles neu zu lesen.
Ich hatte vor Jahren die gleichen Probleme, allerdings nicht mit Android, damals war es die beste Lösung die Uhrzeit mit in den Dateinamen einzubauen. Z.B. ftp-down-20171231-083122.dat Damit waren dann gleich alle Cache-Probleme gelöst. Diese Schnittstelle läuft noch immer.
Gruss Carlo
du musst deine Android-App dazu bringen ihren Cache zu leeren bezw. den ftpd-daemon alles neu zu lesen.
Ich hatte vor Jahren die gleichen Probleme, allerdings nicht mit Android, damals war es die beste Lösung die Uhrzeit mit in den Dateinamen einzubauen. Z.B. ftp-down-20171231-083122.dat Damit waren dann gleich alle Cache-Probleme gelöst. Diese Schnittstelle läuft noch immer.
Gruss Carlo
Zuletzt geändert von ramses am Do, 28. Dez 2017 8:37, insgesamt 1-mal geändert.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- Marvin
- Beiträge: 14651
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Hallo Carlo,
nicht ich bin der mit dem Cache-Problem ...
Jan
nicht ich bin der mit dem Cache-Problem ...
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: XbFTP und Cacheproblem
Hallo Jan
wenn das Cache Probleme bei deiner Gegenstation liegt kannst du *NICHTS* dagegen tun. Vielleicht hilfts wenn du das Remote-Verzeichnis einige male wechselst damit die Gegenstation alle neu liest....
Gruss Carlo
wenn das Cache Probleme bei deiner Gegenstation liegt kannst du *NICHTS* dagegen tun. Vielleicht hilfts wenn du das Remote-Verzeichnis einige male wechselst damit die Gegenstation alle neu liest....
Gruss Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- Marvin
- Beiträge: 14651
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Carlo,
noch einmal: Nicht ich bin derjenige mit dem Problem, sondern Peter. Ich hatte lediglich auf eine alternative Funktion hingewiesen.
Jan
noch einmal: Nicht ich bin derjenige mit dem Problem, sondern Peter. Ich hatte lediglich auf eine alternative Funktion hingewiesen.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Ich finde da nur den HTTPClient(), die in der normalen Version hinzugefügt wurde
FTPClient() ist schon länger in der ASINET enthalten und scheint nicht erweitert worden zu sein. Mir fehlte hier die Möglichkeit ein Inhaltsverzeichnis abzurufen.
PS: mit der FTP Klasse von Marshallsoft, hole ich von einem Web-server erstellte LOG Dateien ab.
Diese lasse ich mir als Liste suchen, lade die Datei herunter und lösche die oben auf dem Server.
Das funktioniert einwandfrei.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14651
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
Hubert,
schau Dir mal das ChangeLog von Build 853 an. Da sind stapelweise neue Methoden für FTPClient() drin - u. a. auch das von Dir bemängelte :directory(). Es stimmt, das es den FTPClient() schon länger gab. Aber erst mit den Neuerungen ist der gegenüber der Klasse von Phil konkurrenzfähig.
Jan
schau Dir mal das ChangeLog von Build 853 an. Da sind stapelweise neue Methoden für FTPClient() drin - u. a. auch das von Dir bemängelte :directory(). Es stimmt, das es den FTPClient() schon länger gab. Aber erst mit den Neuerungen ist der gegenüber der Klasse von Phil konkurrenzfähig.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: XbFTP und Cacheproblem
sorry das hab ich übersehen (beim Build 853) ... sehr interessant.
Gruß
Hubert
Hubert
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
Re: XbFTP und Cacheproblem
vielen Dank für die Hinweise.
so wie Hubert es in einem der ersten Beiträge angedeutet hat funktiomniert es.
Die Dateien können unterschiedliche Namen haben, manchmal sind es auch mehrere Dateien - das stört aber nicht.
Ich habe in die XbFTP.ch diesen Eintrag hinzugefügt:
durch
PS.: ich setze die 1.90.355 ein
so wie Hubert es in einem der ersten Beiträge angedeutet hat funktiomniert es.
Die Dateien können unterschiedliche Namen haben, manchmal sind es auch mehrere Dateien - das stört aber nicht.
Ich habe in die XbFTP.ch diesen Eintrag hinzugefügt:
Code: Alles auswählen
#define FTP_INTERNET_FLAG_RELOAD 0x80000000
In der XbFTP.prg ersetzt ich in der Methode getFile das anscheinend nicht benötigteErzwingt das Herunterladen der angeforderten Datei, des Objekts oder der Verzeichnisliste vom Ursprungsserver und nicht vom Cache.
Code: Alles auswählen
default nTransferMode to FTP_TRANSFER_TYPE_UNKNOWN
Code: Alles auswählen
default nTransferMode to FTP_INTERNET_FLAG_RELOAD