Java应用程序与C ++应用程序之间的通信

sev*_*ves 4 c++ java java-native-interface com+ kinect

我正在尝试为Java应用程序编写插件。该插件应该能够告诉Java应用程序已经识别出新事件(观察者设计模式,轮询...但这不是重点)。问题在于事件是来自Microsoft Kinect控制器的跟踪手势(我必须使用C ++和Microsoft Kinect SDK,因为我必须这样做)。因此,这意味着我必须在Java应用程序和Kinect应用程序之间进行通信。我想到了类似适配器设计模式的东西,其中Java应用程序“包含”了接口(C ++头文件,dll等)。首先,我想到了JNI,但随后我必须编写一个将在应用程序两面都使用的DLL,对吗?我想到的另一件事是通过UDP等协议(或更轻巧的协议)提供手势数据。

JAVA APPLICATION << ----- ??? ----- >> KINECT APPLICATION
Run Code Online (Sandbox Code Playgroud)

Sor*_*ter 5

也许您应该看看Google的Protocol Buffers

由于您正在考虑JNI。我建议您参考此IBM教程

JNI允许Java应用程序调用c / c ++方法,反之亦然。

如果您是从c ++调用java,也可以看看这个 问题