Frage

Ich habe Skype4Java (für skype java api) gelesen und bemerkt, sie verwenden jni das Skype-Client zugreifen zu können.

intuitiv würde ich davon ausgehen, dass es bereits eine Standard-Bibliothek in Java, die eine O empfindliche jni Implementierung hat auf andere Prozesse zugreifen. Ich setze sich für eine suchen, konnte es aber nicht finden.

Gibt es eine solche Bibliothek? wenn nicht, gibt es eine bewährte Methode, eine anderen Prozess im Betriebssystem zugreifen kann, nicht unbedingt ein Skype-Client?

War es hilfreich?

Lösung

Ich denke, dass vielleicht müssen Sie definieren, was ‚Zugang‘ für Sie bedeutet. Wenn Sie sich über die gute alte Inter-Prozess-Kommunikation sprechen, dann Steckdosen oder JNI sind wirklich die beste Wahl.

Garth Kommentar über Memory-Mapped-Dateien verwenden, ist interessant - ich MMFs und virtuelle Dateien für IPC zwischen C-Anwendungen oft verwendet habe, aber es kam nie zu mir, dass Java der MMF-Implementierung mit dem nativen O virtuellen Dateisystem kompatibel sein könnte. Diese Arten von virtuellen Dateien benötigen in der Regel nicht-triviale Setup, so dass ich wäre überrascht, wenn es funktionieren würde ...

Alle sagen, es sei denn, Sie massive Mengen von Daten zwischen Anwendungen sind Pumpen, Sockets ist wohl die universellste und effektivste Weg, es zu tun. Seien Sie sicher, dass Sie machen endianness zwischen dem Host-Betriebssystem und Java VM: -)

Andere Tipps

Von Java 1.4 ab können Sie Memory-Mapped-Dateien verwenden, beliebige Informationen mit einem anderen Prozess auszutauschen. Siehe java.nio.MappedByteBuffer für Details.

Das ist nicht ganz das, was Sie suchen, werden aber wahrscheinlich dennoch sehr viel helfen: das Java Native Access Projekt auf java.net.

Vergessen Sie nicht, Steckdosen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top