Java应用程序和C++应用程序之间的通信
问题描述:
我正在尝试为Java应用程序编写一个插件。该插件应该能够告诉Java应用程序新事件已被识别(Observer Design Pattern,Polling ...那不是重点)。问题是这些事件是来自Microsoft Kinect控制器的跟踪手势(我正在使用C++和Microsoft Kinect SDK,因为我必须)。这意味着我必须在Java应用程序和我的Kinect应用程序之间进行通信。 我想到了一个像Java应用程序“包括”接口(C++头文件,dll等)的适配器设计模式。首先我想到了JNI,但是后来我必须编写一个将在这两个应用程序端使用的DLL,对吧?我想到的另一件事是通过像UDP协议(或更轻量级?)提供手势数据。我听说的最后一件事是编写一个COM +程序集......但说实话,我对COM +的了解还很少。Java应用程序和C++应用程序之间的通信
JAVA APPLICATION << ----- ??? ----- >> KINECT APPLICATION
答
可能你应该看看谷歌的Protocol Buffers。
由于您正在考虑JNI。 我建议你参考IBM tutorial。
JNI允许java应用程序调用c/C++方法,反之亦然。
也看看这个 question,如果你从C++调用java。
哦,当然...插座!我会仔细看看。 TY! – seveves 2012-03-09 06:38:45
工程就像一个魅力!我决定使用UDP ...似乎很好;)...谢谢! – seveves 2012-03-09 17:32:10
@SeveFriede:请记住,尽管速度更快,UDP并不保证包裹的交付。如果你决定让你的应用程序在更远的距离上通信,这可能会有问题;) – npinti 2012-03-09 17:39:04