verbindung zwischen java und cpp Programmen
-
Hallo
Ich würde ganz gerne etwas über die Möglichkeiten lernen wie man cpp und java Programme kommunizieren lassen kann.Soweit ich weiß gibt es da:
-jni
-socketsWas gibt es noch?
Das ganze sollte unter Linux laufen.
Werde mich nun wieder etwas in Sockets einlesen.Hat jemand weitere Methoden oder guten Stoff zum lesen zu diesem Thema?
Gruß
DS
-
decembersoul schrieb:
Was gibt es noch?
Pipes
Ich empfehle ganz klar Sockets, denn
1.) dadurch können später andere Programme in anderen Sprachen davon auch profitieren
2.) es ist unixtypisch Prozesskommunikation über Sockets zu machen(da IMHO leider Pipes unter Java wegfallen).
-
Ich habe bisher immer JNI favorisiert, da es die schnellere Anbindung ist und man ja oft gerade sehr performanten Code auslagern will.
Sockets dagegen haben den Vorteil einer sehr viel höheren Flexibilität, so kann man, wie schon gesagt, auch andere Sprachen integrieren und sogar die Programme auf verschiedenen Rechnern ablaufen lassen.
Was du nun nimmst hängt eigentlich davon ab wie viele Daten ausgetauscht werden müssen. Sind dies sehr viele, dann rate ich zu JNI. (Der eigentliche Rechenaufwand ist vernachlässigbar, wenn die Kommunikation zwischen C- und Java-Teil nicht die Bremse ist)
-
Ich werde wohl UDP Sockets nehmen.
Sind meist nur signals die übertragen werden. Vielleicht noch ein paar byte, das war es dann auch schon...