Ich bin auf der Suche nach einer Interprozess-Kommunikationseinrichtung, die zwischen Sprachen und/oder Umgebungen verwendet werden kann, die auf demselben oder anderen Systemen laufen. Zum Beispiel sollte es erlauben, Signale zwischen Java, C# und/oder C++ - Komponenten zu senden, und es sollte auch eine Art von Warteschlangenmechanismus unterstützen. Die einzige Einrichtung, die offensichtlich umwelt- und sprachunabhängig ist, sind Dateien, aber ich nehme an, dies wäre viel zu langsam - und disziplinierte Warteschlangen könnten schwierig zu implementieren sein. Viele der anderen in der Literatur beschriebenen Einrichtungen gelten nur für eine Sprache oder ein Betriebssystem. Vorschläge würden geschätzt werden!Interprozesskommunikation zwischen Sprachen/Betriebssystemen
Antwort
Nun, Sie könnten definitiv mit "Sockets" aussehen.
Sie müssen wahrscheinlich etwas wie ActiveMQ betrachten. In EAI-Mustern wird der JMS-Bus stark dazu verwendet, mehrere Module zu integrieren, die in verschiedenen Sprachen geschrieben sind und auf mehreren Systemen laufen. Solcher Enterprise Message Bus wie ActiveMQ passt zu mir. Lass es mich wissen, wenn du etwas anderes suchst.
-Shamik
würde ich XML-RPC persönlich nutzen. Es ist einfach auf mehreren Plattformen zu verwenden und erfüllt alle Ihre Anforderungen sauber. Jedes Warteschlangen kann programmatisch gehandhabt werden.
Check out Microsoft Message Queue oder etwas Simillar. Auch einen Blick auf XML-RPC, SOAP, JSON usw.
Wenn man über heterogene Architektur sprechen, IMHO Transportschicht (wie Sie „Steckdosen“ als Antwort markiert) ist ebenso wichtig, wie Protokollschicht (Datenserialisierung usw.).
Was ich gefunden habe, dass rechtzeitig zurückkehrt, lernt Programmierbibliothek, die Serialisierung von Daten zwischen verschiedenen Programmiersprachen, Betriebssystemen und Architekturen vereint (Big-Endian/Low-Endian, 16/32/64 Bits, etc).
Meine bevorzugte Wahl ist Google Protocol Buffers, mit in-Box-Unterstützung für C++, Python, Java und Third-Party Add-ons mit Unterstützung für huge amount of programming/scripting languages (einschließlich Lua, Matlab, Ruby, Perl, R, Php, OCaml, Merkur, Erlang, Go, D , Lisp) und RPC implementations (wie Zeroc ICE). Aus der Liste viele andere Produkte unterstützen sie wie SWI-Prolog Google Protocol Buffers Library. Die Alternative ist mit Unterstützung für eine Vielzahl von Programmiersprachen.
Zum Vergleich können Sie überprüfen: Thrift vs Protobuf vs JSON.
Meine Wette ist auf DBus [peer to peer] - Das hat eine bessere Flusskontrolle. Es läuft auf RPC, daher gibt es viele Sprachbindungen. RPC ist natürlich auf lokalen Sockets gebaut.
- 1. Interprozesskommunikation
- 2. Interprozesskommunikation Posix
- 3. Interprozesskommunikation zwischen C++ und vb.net-Anwendungen
- 4. Snoop Interprozesskommunikation
- 5. Interprozesskommunikation in. NET
- 6. Interprozesskommunikation in Windows XP
- 7. Interprozesskommunikation in Linux-Design
- 8. Interprozesskommunikation zwischen C# -Anwendung und nicht verwalteter C++ - Anwendung
- 9. Interprozesskommunikation zwischen C++ - App und Java-App in Windows-Betriebssystemumgebung
- 10. Sind Funktionsrückruf und Interprozesskommunikation gleich?
- 11. Interprozesskommunikation über Windows
- 12. UDP für Interprozesskommunikation
- 13. Einfache Interprozesskommunikation in Qt4
- 14. Interprozesskommunikation in C
- 15. Interprozesskommunikation in Lua
- 16. Ist Web-Browser zu Excel Interprozesskommunikation möglich
- 17. Boost :: Asio, Shared Memory und Interprozesskommunikation
- 18. Wie funktioniert Interprozesskommunikation (IPC) in Rust?
- 19. Java Interprozesskommunikation im Jahr 2015 (ohne Boiler-Platte)?
- 20. Interprozesskommunikation innerhalb von PHP mit einem kontinuierlichen Prozess?
- 21. Welche Methode eignet sich besser zum Senden eines Bilderstroms zwischen zwei Prozessen, lokaler TCP/IP-Verbindung oder Interprozesskommunikation?
- 22. Ist es möglich, den Paketnamen der Anrufer-App von Activities bei der Interprozesskommunikation zu erhalten?
- 23. Android: Absicht und Austausch von Daten zwischen den Komponenten
- 24. Unterschied zwischen -Wconversion zwischen gcc und g ++
- 25. Java Inter Process Kommunikation und Inter Thread Kommunikation?
- 26. Excel wenn A1 = zwischen 17 bis 20.4 und B1 = zwischen
- 27. Berechne No.Days zwischen zwei Daten, die zwischen zwei Tagen ist
- 28. Unterschied zwischen Super pom die Abhängigkeit zwischen zwei Projekten mit
- 29. Entfernen von Leerzeichen zwischen Buchstaben und doppelten Leerzeichen zwischen Wörtern
- 30. SQL - Ermitteln des Datumsunterschieds zwischen zwei Zeilen zwischen drei Tabellen
Schön, eine andere Antwort nach 5 Jahren zu sehen! Wahrscheinlich existierte DBus nicht, als ich diese Frage zum ersten Mal stellte! Thx –
Was haben Sie am Ende benutzt? – resultsway
Gebrauchte Steckdosen zu dieser Zeit für eine ziemlich spezielle Aufgabe. Ich fürchte, ich habe es seitdem nicht mehr benutzt, da das Bedürfnis nicht wieder aufkam. Wenn es so ist, werde ich DBus im Kopf haben! Prost. –