Frage Popup nach Dateiablage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Brok3r
User
Beiträge: 29
Registriert: Montag 24. Oktober 2005, 13:48

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
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

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.
Brok3r
User
Beiträge: 29
Registriert: Montag 24. Oktober 2005, 13:48

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 :-/
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

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.)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Brok3r
User
Beiträge: 29
Registriert: Montag 24. Oktober 2005, 13:48

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.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Brok3r
User
Beiträge: 29
Registriert: Montag 24. Oktober 2005, 13:48

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Brok3r
User
Beiträge: 29
Registriert: Montag 24. Oktober 2005, 13:48

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:
Antworten