Seite 1 von 1

Frage Popup nach Dateiablage

Verfasst: Dienstag 15. November 2005, 14:32
von Brok3r
Hallo zusammen!

Ich hoffe jemand kann mir helfen ,da ich selbst noch absolut keinen plausiblen Lösungsansatz habe.

Folgende Problemstellung:

Ich möchte ein Programm schreiben welches Zentral auf einem Server läuft und dabei ein Directory überwacht.------->an sich kein Problem aber:

Das Programm soll sobald ein User aus dem Netzwerk eine Datei darin ablegt bei diesem User ein GUI(hab ich schon geschrieben) hochpoppen wo der User alle nötigen Eingaben zur weiteren Datenverarbeitung trifft.

Ich habe absolut keine ahnung wie man an eine solche Problemstellung rangehen soll.Kann mir noch kein Weg vorstellen zu ermitteln welcher User die Datei abgelegt hat und vor allem wie dieses Popupfenster am richtigen Ort(User) hochkommen soll.

Ist die einzig realisierbare Mögichkeit ein Hintergrunddienst bei jedem User welches Daten vom Server empfängt sobald der User eine Datei dort ablegt?

Wäre für jede Hilfe dankbar sollte jemand meine Formulierung nicht ganz nachvollziehen können bitte nachfragen.

Dank schon mal

Re: Frage Popup nach Dateiablage

Verfasst: Dienstag 15. November 2005, 15:37
von Joghurt
Brok3r hat geschrieben:Ist die einzig realisierbare Mögichkeit ein Hintergrunddienst bei jedem User welches Daten vom Server empfängt sobald der User eine Datei dort ablegt?
Kommt drauf an, ob die Clients Windowsrechner oder X11-Clients (Linux,Unix (dazu zählt auch Mac OSX)) sind. Unter X kannst du nämlich Fenster auf fremden Rechnern öffnen, solange der Rechner das erlaubt.
Ob es eine solche Funktion bei Windows gibt, kann ich nicht sagen.

Mehr Informationen deinerseits sind also vonnöten.

Verfasst: Dienstag 15. November 2005, 15:59
von Brok3r
Es handelt sich um Windows Clients. :cry:
Denke es wird wohl oder übel kein Weg an meinem Ansatz über client und server programm vorbeiführen, auch wenn ich das Gegenteil hoffe :-/

Verfasst: Dienstag 15. November 2005, 18:01
von Joghurt
Dürfte wohl die einfachste Möglichkeit sein. Und soviel Arbeit ist das auch nicht. Schau mal hier:
http://docs.python.org/lib/module-SocketServer.html

Du leitest einfach von UDPServer ab, und ruft eine Routine aus, wenn bestimmte Daten ankommen (musst natürlich sicherstellen, dass die IP die des Servers ist, und die Firewall sollte auch gut konfiguriert sein)

Ich würde wxPython als GUI-API empfehlen, gefällt mir besser als Tkinter und ist mindestens genauso portabel (was in deinem konkreten Falle nicht von Belang ist, aber später wirst du vielleicht Portabilität gut gebrauchen können.)

Verfasst: Dienstag 15. November 2005, 19:36
von Leonidas
Joghurt hat geschrieben:Ich würde wxPython als GUI-API empfehlen, gefällt mir besser als Tkinter und ist mindestens genauso portabel (was in deinem konkreten Falle nicht von Belang ist, aber später wirst du vielleicht Portabilität gut gebrauchen können.)
Ich würde PyGTK empfehlen, ist oft angenehmer zu programmieren. Aber gut, vergleiche am besten selbst.

Ich überlege ob du für diese Art von IPC auch Pyro benutzen könntest, musst mal schauen, ob es nicht nur One-Way ist.

Verfasst: Mittwoch 16. November 2005, 07:49
von Brok3r
Danke schon mal an alle für die rasche Hilfe!

Naja ich hab bereits Erfahrung mit Tkinter samt Pmw hab auch schon ein recht aufwendiges Interface damit gebastelt.

Möchte jedoch diesmal pygtk bzw damit verbunden glade benutzen auch wenn ich den dreh bei glade noch nicht so ganz raus habe :-/
Ich überlege ob du für diese Art von IPC auch Pyro benutzen könntest, musst mal schauen, ob es nicht nur One-Way ist.
was meinst du mit ob es nur One-Way ist?:-/
Dürfte wohl die einfachste Möglichkeit sein. Und soviel Arbeit ist das auch nicht. Schau mal hier:
http://docs.python.org/lib/module-SocketServer.html.


glaub jemand hat hier im forum auch irgendwo schon mal eine ähnliche Frage gestellt da gabs auch ein schickes codebeispiel zu dem thema werd mich wohl dann dran halten.

Verfasst: Mittwoch 16. November 2005, 11:51
von Leonidas
Brok3r hat geschrieben:Möchte jedoch diesmal pygtk bzw damit verbunden glade benutzen auch wenn ich den dreh bei glade noch nicht so ganz raus habe :-/

Ich nutze kein Glade, das nimmt mir zu viel Kontrolle aus der Hand. Eventuell magst du dir auch noch Gazpacho ansehen.
Brok3r hat geschrieben:
Ich überlege ob du für diese Art von IPC auch Pyro benutzen könntest, musst mal schauen, ob es nicht nur One-Way ist.
was meinst du mit ob es nur One-Way ist?:-/

Ich meine, dass nur den Client sich zum Server verbinden kann, nicht dass der Server Events weiterleiten kann.

Beispiel (ob man sowas mit Pyro lösen kann weiß ich nicht, musste aber möglich sein):
- Client verbindet sich zu Server und wartet.
- Server schickt einen Event zum Client, der darauf reagiert.

Verfasst: Mittwoch 16. November 2005, 13:15
von Brok3r
Leonidas hat geschrieben: Ich nutze kein Glade, das nimmt mir zu viel Kontrolle aus der Hand. Eventuell magst du dir auch noch Gazpacho ansehen.
Dachte bezogen auf diesen Link
http://python.sandtner.org/viewtopic.ph ... 2768d598d2,
das du Glade benutzts aber ist ja auch nicht wirklich von Bedeutung.

Werde wohl meine Idee ein wenig umstrukturieren und die User einfach zwingen zunächst das GUI zu öffnen wobei im Hintergrund eine Verbindung zum Server aufgebaut wird und somit über diesen Weg auch die Daten direkt übertragen und überprüft werden.---->Der Server muß die Daten überprüfen und gegebenenfalls wieder Daten zurücksendet mit Anleitung zur Fehlerkorrektur bei der Eingabe...

Hast du mir einen Link zu eben genanntem Pyro da ich davon noch nichts gehört habe bin in Sachen Netzwerk Verbindungen in python absoluter Neuling und hab keine ahnung was sich realisieren lässt und was nicht

Verfasst: Mittwoch 16. November 2005, 13:20
von Leonidas
Brok3r hat geschrieben:Dachte bezogen auf diesen Link
http://python.sandtner.org/viewtopic.ph ... 2768d598d2,
das du Glade benutzts aber ist ja auch nicht wirklich von Bedeutung.
Ich spiele damit manchmal, aber richtige Programme schreibe ich dann doch von Hand.
Brok3r hat geschrieben:Hast du mir einen Link zu eben genanntem Pyro da ich davon noch nichts gehört habe bin in Sachen Netzwerk Verbindungen in python absoluter Neuling und hab keine ahnung was sich realisieren lässt und was nicht
Klar doch: Pyro.

Pyro könnte man als das nonplusultra von IPC unter Python bezeichnen. Damit können Prozesse miteinander auf verschiedenste Weisen kommunizieren.

Verfasst: Mittwoch 16. November 2005, 13:33
von Brok3r
Danke für den Link bloß leider kann ich grad die Librarys net runterladen da ich hinter ner Firewall sitzt die so gut wie alles blockt watchguard sei "dank".

Naja mal sehen ob ich damit zurechtkomme hab mich heute morgen schon ein wenig in glade eingearbeitet und muß sagen das ich für ein ähnliches interface wie in Tkinter vielleicht 5% der Zeit benötigt hab da geb ich gerne ein wenig Kontrolle aus der Hand :-).
Muß aber auch sagen das ich mich noch nicht großartig mit PyGTK befasst habe wenn es komfortabler zu bedienen ist wie Tkinter dann werd ich eventuell auch kein Umweg über glade gehen aber primär möchte ich jetzt erstmal die Sache mit der Kommunikation client / server und umgekehrt in einen lauffaehigen Zustand bekommen.

Danke für die Hilfe schon mal bei weiteren Fragen melde ich mich wieder :wink: