Communication entre C et JAVA
Fermé
djamonphil
Messages postés
3
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
18 janvier 2007
-
17 janv. 2007 à 15:52
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 19 janv. 2007 à 12:27
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 19 janv. 2007 à 12:27
A voir également:
- Communication entre C et JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Jeux java itel - Forum Mobile
5 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
18 janv. 2007 à 00:49
18 janv. 2007 à 00:49
Ben le JNI pour autant que je sache c'est bien du java qui permet d'embarquer des morceaux de C++ ? Ca parait bien ça :p
http://www.infini-fr.com/Sciences/Informatique/Langages/Imperatifs/Java/jni.html
Corba c'est bien et de mémoire pas si compliqué, mais c'est C++ et Java mais je ne pense pas que ca fasse le C. Ca génère juste un patron de classes client/serveur et corba se débrouille pour les faire communiquer (quelque soit le langage dans lequel est codé le client ou le serveur).
http://jmvanel.free.fr/corba/formation.html
Mais sinon il y a moyen d'exécuter une commande système, en particulier appeler ton programme en C etc...
http://www.infos-du-net.com/forum/58425-21-regler-executer-commande-systeme-java
Bonne chance
http://www.infini-fr.com/Sciences/Informatique/Langages/Imperatifs/Java/jni.html
Corba c'est bien et de mémoire pas si compliqué, mais c'est C++ et Java mais je ne pense pas que ca fasse le C. Ca génère juste un patron de classes client/serveur et corba se débrouille pour les faire communiquer (quelque soit le langage dans lequel est codé le client ou le serveur).
http://jmvanel.free.fr/corba/formation.html
Mais sinon il y a moyen d'exécuter une commande système, en particulier appeler ton programme en C etc...
http://www.infos-du-net.com/forum/58425-21-regler-executer-commande-systeme-java
Bonne chance
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
17 janv. 2007 à 23:29
17 janv. 2007 à 23:29
"juste faire passer un signal de l'appli java vers l'appli en C" : c'est à dire juste lancer l'appli en C c'est ca?
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
18 janv. 2007 à 05:28
18 janv. 2007 à 05:28
Au fait je vois pas le problème des sockets dans ton cas, quelle stratégie réseau t'empêcherais de faire ca?
djamonphil
Messages postés
3
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
18 janvier 2007
18 janv. 2007 à 15:02
18 janv. 2007 à 15:02
Merci pour vos réponses.
arth à écrit : _______________
c'est à dire juste lancer l'appli en C c'est ca?
__________________________
non en fait, c'est une application qui tourne en continu et qui attends un signal...
arth à écrit : _______________
Au fait je vois pas le problème des sockets dans ton cas, quelle stratégie réseau t'empêcherais de faire ca?
__________________________
disons, que j'ai fais le test sous XP avec un FireWall qui tourne, et ce dernier "gueule" dès que je lance une info au server socket, même en lançant sur le loopback (127.0.0.1)... et les utilisateurs finaux étant des noobs (comprendre newbie, c'est à dire des gens potentiellement pas très aware en informatique), je veux que mon mode de communication soit totalement transparent
mamiemando à écrit : ______
Ben le JNI pour autant que je sache c'est bien du java qui permet d'embarquer des morceaux de C++ ? Ca parait bien ça :p
__________________________
le problème est que mon code en C est un module d'une grosse application sur laquelle je n'ai quasiment pas de contrôle, et je ne pense pas que le JNI soit approprié dans mon cas.
Mais en fait, actuellement, mon programme en java est en C++ mais je vais le recoder en java... or actuellement, je le fais communiquer par DDE, en C++ c'est facile et il y a nativement tout ce qu'il faut avec Visual Studio.
Ce que je peut peut-être faire c'est importer ma classe qui gère le DDE en C++ vers mon (futur) programme java avec JNI. ça vous semble jouable ça ? car je n'ai jamais essayer JNI...
arth à écrit : _______________
c'est à dire juste lancer l'appli en C c'est ca?
__________________________
non en fait, c'est une application qui tourne en continu et qui attends un signal...
arth à écrit : _______________
Au fait je vois pas le problème des sockets dans ton cas, quelle stratégie réseau t'empêcherais de faire ca?
__________________________
disons, que j'ai fais le test sous XP avec un FireWall qui tourne, et ce dernier "gueule" dès que je lance une info au server socket, même en lançant sur le loopback (127.0.0.1)... et les utilisateurs finaux étant des noobs (comprendre newbie, c'est à dire des gens potentiellement pas très aware en informatique), je veux que mon mode de communication soit totalement transparent
mamiemando à écrit : ______
Ben le JNI pour autant que je sache c'est bien du java qui permet d'embarquer des morceaux de C++ ? Ca parait bien ça :p
__________________________
le problème est que mon code en C est un module d'une grosse application sur laquelle je n'ai quasiment pas de contrôle, et je ne pense pas que le JNI soit approprié dans mon cas.
Mais en fait, actuellement, mon programme en java est en C++ mais je vais le recoder en java... or actuellement, je le fais communiquer par DDE, en C++ c'est facile et il y a nativement tout ce qu'il faut avec Visual Studio.
Ce que je peut peut-être faire c'est importer ma classe qui gère le DDE en C++ vers mon (futur) programme java avec JNI. ça vous semble jouable ça ? car je n'ai jamais essayer JNI...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 292
19 janv. 2007 à 12:27
19 janv. 2007 à 12:27
J'ai bien une idée mais c'est plus du bricolage qu'autre chose et pas sur que ca marche.
dans ton programme java, lorsque tu veux appeler le programme c, tu met mettons la ligne "ok" dans un fichier texte; du côté C tu auras un thread ou une fonction qui regarde si quelquechose est écrit dans le fichier et si oui et si c'est ok il se lance.
Non mais n'écoute pas ce que je te dis ^^ je sais même pas si cela peut marcher.
Enfin ce n'est qu'une idée...
dans ton programme java, lorsque tu veux appeler le programme c, tu met mettons la ligne "ok" dans un fichier texte; du côté C tu auras un thread ou une fonction qui regarde si quelquechose est écrit dans le fichier et si oui et si c'est ok il se lance.
Non mais n'écoute pas ce que je te dis ^^ je sais même pas si cela peut marcher.
Enfin ce n'est qu'une idée...