2012-04-08 6 views
2

Ich habe kürzlich gezwungen, ein IPC-Protokoll zu finden, das am besten für die Kommunikation zwischen Java und C++ ist.Was sind Vor- und Nachteile der Verwendung von Socket für IPC zwischen Java und C++?

Ich suchte die SO für die Suche nach dem besten Protokoll dafür, ich fand Socket ist der beste Ansatz dafür, in SO. Aber ich konnte nichts über seine Nachteile oder Vorteile von Steckdosen finden! Also ich möchte Profis dieses Protokolls kennen und auch ich möchte Profis von anderen Protokoll vs Socket kennen, um das beste Protokoll für meine Anwendung zu wählen.

Es ist sehr wahrscheinlich, dass meine beiden Anwendungen auf demselben Computer ausgeführt werden.

Update Ich sollte zuerst mein Protokoll auswählen, dann kann ich entscheiden, ob es auf welcher Systemkonfiguration ausgeführt wird.

+0

Welche anderen Optionen haben Sie in Betracht gezogen? – dasblinkenlight

+0

kann Messaging oder sogar eine Datei verwenden! – Lrrr

+2

Ich hoffe du meintest "Messaging", nicht "massieren", oder? – dasblinkenlight

Antwort

3

Das beste IPC-Verfahren hängt wirklich davon ab, welche Art von Kommunikation, die Sie haben: Nachricht vorbei, gegenseitige exklusive Ausführung zu gewährleisten, den Austausch von Daten sind verschiedene IPC, aber Buchsen sind nicht die Lösung für all 3.

über Denken, oder geben Sie Informationen darüber an, in welcher Form die Informationen zwischen den Anwendungen ausgetauscht werden sollen. Vielleicht finden Sie ein typisches Szenario (wie Producer-Consumer-Problem).

Wenn Sie ein Message-Passing-Problem haben, das im Prinzip mit oldschool TCP-Diensten vergleichbar ist, sind Sockets eine gute Idee, weil sie gut getestet und leicht zu debuggen sind; Sie bieten eine vollständige Entkopplung, dennoch hat das lokale Ausführen keine Nachteile im Vergleich zu Pipes, da der Kernel das Blockieren einer Anwendung (Sender oder Empfänger) effizient durchführen kann.

Sockets können UDP-, TCP- oder Unix-Sockets sein. In jedem Fall benötigen Sie keine Netzwerkkarte für lokale IPC mit Sockets.

Verwandte Themen