Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/08/2007, à 03:53

lejavaman

Echange entre un process ecrit en Java et un process ecrit en C++

J'ai ecrit une GUI en Java avec Netbeans et j'ai ecrit une application serveur de plus bas niveau en C++. Pour l'instant, j'utilise des TCP/IP sockets pour faire communiquer mes 2 process. Existe-t-il un autre moyen plus simple de faire communiquer mes 2 process? J'ai lu que certains utilisaient des fichiers xml. Dans ce cas-la, comment les process font-ils pour s'avertir qu'un nouveau fichier a ete cree?

Merci d'avance

Hors ligne

#2 Le 24/08/2007, à 08:55

alexduf

Re : Echange entre un process ecrit en Java et un process ecrit en C++

tu peux utiliser un named pipe,
il se créé avec la commande mkfifo, ensuite en java tu peux le manipuler comme un fichier, à chaque fois qu'un flush passe dans ton FileOutPutstream, le process qui l'a ouvert en lecture reçoit le flux.

J'imagine que ça fonctionne de la même manière dans l'autre sens, la méthode read doit être bloquante lorsqu'on essai de lire sur le fichier, jusqu'à ce qu'un autre process vienne écrire dedans

En c++ je pense même qu'il existe des méthodes toutes faites pour y accéder.

jette un oeil par là http://en.wikipedia.org/wiki/Named_pipe

Hors ligne

#3 Le 24/08/2007, à 10:31

JoelS

Re : Echange entre un process ecrit en Java et un process ecrit en C++

lejavaman a écrit :

J'ai ecrit une GUI en Java avec Netbeans et j'ai ecrit une application serveur de plus bas niveau en C++. Pour l'instant, j'utilise des TCP/IP sockets pour faire communiquer mes 2 process. Existe-t-il un autre moyen plus simple de faire communiquer mes 2 process? J'ai lu que certains utilisaient des fichiers xml. Dans ce cas-la, comment les process font-ils pour s'avertir qu'un nouveau fichier a ete cree?

Merci d'avance

Si tes processus peuvent être sur des serveurs distants, utilises des sockets IP.

Sinon s'ils tournent obligatoirement sur le même serveur, tu peux utiliser des tubes nommés comme indiqué par alexduf ou des sockets UNIX.

Tu peux aussi utiliser des zones mémoires partagées sur le même serveur jusqu'à des bus de messages sur des serveurs séparés.

Si ton protocole est simple, des sockets c'est un bon compromis.

Hors ligne

#4 Le 24/08/2007, à 14:16

alexduf

Re : Echange entre un process ecrit en Java et un process ecrit en C++

JoelS a écrit :

Tu peux aussi utiliser des zones mémoires partagées sur le même serveur jusqu'à des bus de messages sur des serveurs séparés.

c'est possible à exploiter en java? si oui ça m'intéresse ^^

Hors ligne

#5 Le 01/09/2007, à 21:00

alexduf

Re : Echange entre un process ecrit en Java et un process ecrit en C++

alexduf a écrit :

c'est possible à exploiter en java? si oui ça m'intéresse ^^

Je fais un petit UP parce que cette question me taraude l'esprit... tongue

Hors ligne

#6 Le 03/09/2007, à 22:38

JoelS

Re : Echange entre un process ecrit en Java et un process ecrit en C++

alexduf a écrit :
alexduf a écrit :

c'est possible à exploiter en java? si oui ça m'intéresse ^^

Je fais un petit UP parce que cette question me taraude l'esprit... tongue

Java je connais pas et je ne m'en porte que mieux. Donc je vais pas pouvoir répondre.

Hors ligne

#7 Le 10/09/2007, à 12:00

guitoon38

Re : Echange entre un process ecrit en Java et un process ecrit en C++

Moi je voudrais savoir comment tu fais pour faire communiquer ton process java avec celui en C++...
En fait y a bien un moment il va falloir que tu appeles une fonction C++ en java et inversement !!!
Comment tu fais ca stp?

Hors ligne

#8 Le 10/09/2007, à 12:31

telliam

Re : Echange entre un process ecrit en Java et un process ecrit en C++

tu peux aussi utiliser le JNI
http://java.sun.com/j2se/1.3/docs/guide/jni/


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#9 Le 10/09/2007, à 14:34

fjeannet

Re : Echange entre un process ecrit en Java et un process ecrit en C++

tu peux aussi utiliser le JNI
http://java.sun.com/j2se/1.3/docs/guide/jni/

Oui, c'est qd-mm ce qu'il y a de plus simple et c'est fait pour ça wink
Voici qques liens qui pourraient t'être utiles :

lien n°1
lien n°2
lien n°3

Hors ligne

#10 Le 10/09/2007, à 16:25

guitoon38

Re : Echange entre un process ecrit en Java et un process ecrit en C++

Oki, merci bcp ts les 2... je crois que j ai un peu de lecture!!!

Hors ligne