Forum: PC-Programmierung Probl. mit Sambazugriff?


von Thomas (Gast)


Lesenswert?

Hallo,

folgende Situation: Ein Linuxrechner mit Samba gibt ein Verzeichnis
frei, ein Windowsrechner greift lesend darauf zu. Der Windowsrechner
pollt nun ständig eine Datei, um anhand deren Inhalt etwas über den
Zustand einer Applikation auf dem Linuxrechner, die ihrerseits
gelegentlich in diese Datei schreibt, zu erfahren.

Ab und an kommt es nun dazu, dass die Windowsapplikation nicht den
richtigen Zustand liest, obwohl dieser wirklich durch die Datei
angezeigt wird. Windowsapp. in C#, Linuxapp in C++. Dateizugriff
erfolgt mit den üblichen Bordmitteln.

Welche Umstände können für dieses Verhalten ursächlich sein?

Vielen Dank schon mal für alle Anregungen.

von Hans (Gast)


Lesenswert?

file caching... wenn du in die file am linux rechner schreibst darfst du
sofort einen flush danach machen.. dann sollte es auf die platte kommen
wenn linux nicht gerade meint, dass etwas wichtigeres auf die platte
raufmuss/runtermuss...

aber im prinzip sollte das mehr oder weniger sofort nach dem flush
richtig in der file liegen...

73

von Thomas (Gast)


Lesenswert?

Die Datei wird auf dem Linuxsystem sofort nach dem Schreibzugriff
geschlossen. Der Windowsrechner versucht es im übrigen wiederholt mit
relativ großen Pausen. Ich versteh es nicht, ein Testprogramm auch auf
dem Linuxsystem zeigt an, dass die Datei ordnungsgemäß den richtigen
Inhalt enthält.

von Hans (Gast)


Lesenswert?

schliessen heisst nicht unbedingt wirklich schreiben !!!! es gibt unter
linux einen filecache und der kann dir da reinpfuschen.. mach noch
einen flush vor dem schliessen.. sicher ist sicher!!

und dann wäre da noch unter windows der filecache... wie man den
abdrehn kann..ka...

73

von Thomas (Gast)


Lesenswert?

Hi,

fstream.close enthält ein implizites flush. Auf tiefere Ebenen kommt
man mit fstream nicht. Darunterliegende Systemschichte, die
irgendwelche Puffer haben, kann man so ohnehin nicht beeinflussen...

von tastendrücker (Gast)


Lesenswert?

> Der Windowsrechner pollt nun ständig eine Datei[...]

Und wird auch immer ein 'Close' zwischendurch gemacht?

von Thomas (Gast)


Lesenswert?

Das war auch meine Idee, hat der Programmierer mittlerweile eingebaut,
Test läuft. Mal schauen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.