Kommunikation zwischen 2 Programmen, wie?
-
Hallo,
habe ein kleines programmiertechnisches Problem, mit dem ich mich leider noch gar nicht auskenne: Für ein Projekt muss ich es schaffen, dass zwei Programme irgendwie miteinander kommunizieren, bzw Daten austauschen können, also das eine Programm übergibt irgendwelche internen Daten an das andere und umgekehrt. Eines der Programme entwickle ich komplett selbst, das andere ist bereits vorhanden, und mit einer mehr oder weniger tollen Plugin-Schnittstelle (im Prinzip über DLL Dateien) ausgerüstet (Director mit sog. Xtras, leider kaum dokumentiert).
Dummerweise habe ich so rein gar keine Ahnung, wie ich den Datenaustausch bewerkstelligen soll. Im Prinzip würde es wohl ausreichen, wenn da Int-Werte übergeben werden - nur wie genau kann ich diese Kommunikation bewerkstelligen?Über irgendwelche Dateien die Werte zwischenspeichern will ich vermeiden.
Programmiersprache ist C++.
-
Hallo,
Interprozesskommunikation ist betriebssystemabhängig. Standard-C++ bietet dafür keine passenden Funktionen. Geh ich recht in der Annahme, dass es sich bei deinen Programmen um Windows-Applikationen handelt?
-
sorry, das hätte man erwähnen sollen.

Jo, es sind Windows-Applikationen, zumindest für die nächsten Wochen.
Könnte sein, dass nach einer Weile das Projekt teilweise nach Linux portiert wird - kann man jetzt aber noch nicht sagen.
Aktuell gehts aber erstmal nur um Windows.
-
Aktuell gehts aber erstmal nur um Windows
Ok. Dann verschiebe ich dich erstmal nach WinAPI.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
-
Ich habe mit Sockets bisher gute Erfahrungen gemacht. Außerdem bleibst du damit relativ platformunabhängig. Dazu steht auch was in flenders Link.
-
Du kannst auch WM_COPYDATA verwenden, wenn die Programme beide Fenster haben (oder auch nicht -- dann kann man z.B. Unsichtbare oder Message-Fenster verwenden).
-
wenn "das andere programm" bereits eine schnittstelle (ueber dlls?) hat, dann finde raus, wie du die benutzen kannst.
-
Ich hatte das jetzt so verstanden, dass er sich dort eben eine DLL für die Kommunikation schreiben muss

-
Genau, ich habe in Director die Möglichkeit, eine DLL-Datei als Plugin einzubinden. Wusste nur bisher nix genaues über die Möglichkeiten, die sich einem dann bieten.

Danke jedenfalls für die Denkanstöße und Hilfe, werde mich erstmal über die Interprocess Communication schlauer machen. Ich melde mich wieder, wenns Probleme gibt.
