La Communication entre l'Application Java et C++ de l'Application
Je suis en train d'écrire un plugin pour une Application Java. Le plugin devrait être en mesure de dire à l'Application Java que de nouveaux événements ont été reconnus (Observateur Modèle de Conception, d'Interrogation ... ce n'est pas le point). Le problème est que les événements sont suivies gestes venant d'un Kinect de Microsoft contrôleur (Gi) à l'aide de C++ et Microsoft Kinect SDK parce que j'ai). Ce qui signifie que j'ai pour la communication entre l'Application Java et mon Kinect Application.
J'ai pensé à quelque chose comme un adaptateur modèle de conception où l'application Java est "y compris" l'interface c++ fichier d'en-tête, dll, etc.). J'ai d'abord pensé à de la JNI, mais ensuite, je dois écrire une DLL qui sera utilisé sur les deux côtés, à droite? Une autre chose que j'ai pensé de a à fournir le geste de données via un protocole comme UDP (ou quelque chose de plus léger?). La dernière chose dont j'ai entendu parler c'était d'écrire un COM+ assemblée ... mais pour être honnête, mes connaissances sur COM+ est assez peu.
JAVA APPLICATION << ----- ??? ----- >> KINECT APPLICATION
OriginalL'auteur seveves | 2012-03-09
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé quelques exemples tels que ici, ici et ici qui vous recommande soit utilisé d'une mémoire partagée de la structure ou d'utiliser les sockets.
Je pense que dans ce cas, la location de vos programmes de communiquer à travers des sockets serait la meilleure idée depuis vos applications ne sera pas étroitement associée, vous avez juste besoin d'exposer une IP, un port et un ensemble de commandes.
Selon cette il semble possible de créer un serveur C++ sur le Kinect, mais d'autres que je ne peux pas dire grand chose car je n'ai jamais travaillé sur Kinect projets connexes.
Fonctionne comme un charme! J'ai décidé d'utiliser UDP ... semble très bien 😉 ... merci!
Gardez à l'esprit que malgré le fait d'être plus rapide, UDP ne garantit pas la livraison du colis. Cela peut être problématique si vous décidez de faire vos demandes de communiquer sur de grandes distances 😉
Merci pour l'astuce! Mais pour le moment, la chose est en cours d'exécution sur une machine locale 😉
OriginalL'auteur npinti
Peut-être vous devriez jeter un oeil à google Protocol Buffers.
Puisque vous envisagez de JNI.
Je vous suggère de vous référer à cette IBM tutoriel.
JNI permet l'application java à c/c++ méthodes et vice-versa.
Également jeter un oeil à ce
question, si vous appelez java à partir de c++.
OriginalL'auteur Sorter
OriginalL'auteur mkumar0304