Paramterübergabe zur Laufzeit

Gast #1298836
Lesenswert?

Hallo,

ich habe ein Programm, das ständig läuft, um alle paar Sekunden ein 
Polling zu starten, um einen Zustand zu prüfen. Während der Laufzeit 
ändern sich aber einige Parameter und ich möchte gerne von einem anderen 
Programm aus, dass die Parameter auswertet, neue Paramter übergeben und 
gegebenfalls eine Antwort zurückerhalten. Dafür reichen dann z.B. 
Strings oder so, die dann zwischen den beiden Programmen ausgetauscht 
werden. Wie kann ich das realisieren?

Danke im Voraus.
Gast #1298844
Lesenswert?

Welches System verwendest du? Linux oder Windows? Unter Windows würde 
ich Windows-Nachrichten verwenden, die du von dem einem zu dem anderen 
Programm schicken kannst, wenn du die Fenster-Handles kennst. Die kannst 
du über den Fensternamen herausfinden.
Persönliche Seite #1298926
Lesenswert?

Du suchst Methoden zur Interprozesskommunikation. Unter Windows gibt 
es dafür verschiedene Möglichkeiten; Windows-Messages (diese setzen 
voraus, daß die Anwendungen auch diese Windows-Messages verarbeiten, was 
bei Konsolapplikationen nicht der Fall ist), Named Pipes, Sockets oder 
Shared Memory.

Named Pipes und Sockets haben den Vorteil, daß die beiden Prozesse auch 
auf unterschiedlichen Maschinen laufen können.
Shared Memory benötigt noch zusätzlicher Synchronisationsmechanismen wie 
Mutexe.

Windows-Messages sind gut geeignet, um einfache numerische Werte (zwei 
32-Bit-Werte) zu übertragen, wenn mehr Daten transportiert werden 
sollen, müssen diese in von beiden Prozessen einsehbaren Speicher 
verpackt, und dann ein Handle auf diesen Speicher transportiert werden.
Der Mechanismus entspricht dem von der Zwischenablage her bekannten.
Gast #1299016
Lesenswert?

Mit Sockets kannst Du noch cool arbeiten. Wie bereits geschrieben wurde, 
können dann die Programme auch übers Netzwerk auf verschiedenen Rechnern 
laufen und man ist sogar Plattformunabhängig, sprich ein Teil kann für 
Windows programmiert werden und ein anderer für ein Unix Derivat wie 
z.B. FreeBSD.
Man muss sich nur ein kleines Protokoll ausdenken, damit sich die beiden 
Teile verstehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren