Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1100 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Appeler un programme distant avec Java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appeler un programme distant avec Java

n°467921
Cherrytree
cn=?
Posté le 25-07-2003 à 16:35:12  profilanswer
 

J'ai deux machines sur un réseau. Je souhaite à partir d'un programme Java sur la machine 1, demander à la machine 2 de lancer une impression.
 
Grâce à gatorette, LetoII, VisualC++ et chrisbk j'ai un programme C qui sait imprimer un document, pourvu que je lui spécifie le pathname (local) vers ce document.
 
Mon but est donc d'appeler via Java sur la machine 1, le programme C, en lui spécifiant en paramètre un fichier de la machine 2.
 
Quelle techno utiliseriez-vous ? Quel moyen ai-je pour récupérer le résultat du programme C (code de retour...) ?


---------------
Le site de ma maman
mood
Publicité
Posté le 25-07-2003 à 16:35:12  profilanswer
 

n°467941
phnatomass
Je m'empare de ton esprit !!
Posté le 25-07-2003 à 16:44:13  profilanswer
 

Regarde du coté de RMI mais attention il faut installer java sur ton 2eme PC.
Je suppose que ton programme c est compilé tu souhaites lancer un executable. Dans ce cas Runtime et Process sont tes amis.

n°467947
LetoII
Le dormeur doit se réveiller
Posté le 25-07-2003 à 16:47:21  profilanswer
 

Cherrytree a écrit :

J'ai deux machines sur un réseau. Je souhaite à partir d'un programme Java sur la machine 1, demander à la machine 2 de lancer une impression.
 
Grâce à gatorette, LetoII, VisualC++ et chrisbk j'ai un programme C qui sait imprimer un document, pourvu que je lui spécifie le pathname (local) vers ce document.


 
C émouvant je suis dans les crédits :'
 

Cherrytree a écrit :


Mon but est donc d'appeler via Java sur la machine 1, le programme C, en lui spécifiant en paramètre un fichier de la machine 2.
 
Quelle techno utiliseriez-vous ? Quel moyen ai-je pour récupérer le résultat du programme C (code de retour...) ?


 
T'as RPC aussi mais ça risque de pas être facile.


---------------
Le Tyran
n°467951
Cherrytree
cn=?
Posté le 25-07-2003 à 16:50:40  profilanswer
 

RMI me paraît mieux. Autrement dit j'aurai un programme Java sur la machine 2, lequel fera les traitements localement.


---------------
Le site de ma maman
n°467952
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-07-2003 à 16:50:40  profilanswer
 

Cherrytree a écrit :

J'ai deux machines sur un réseau. Je souhaite à partir d'un programme Java sur la machine 1, demander à la machine 2 de lancer une impression.
 
Grâce à gatorette, LetoII, VisualC++ et chrisbk j'ai un programme C qui sait imprimer un document, pourvu que je lui spécifie le pathname (local) vers ce document.
 
Mon but est donc d'appeler via Java sur la machine 1, le programme C, en lui spécifiant en paramètre un fichier de la machine 2.
 
Quelle techno utiliseriez-vous ? Quel moyen ai-je pour récupérer le résultat du programme C (code de retour...) ?


J'fais ça au boulot. Prog C++ sur une machine qui démarre sur la demande de ma servlet et qui lui renvoie le résultat. C'est un "énorme" système de messages sur protocole HTTP. Côté serveur Java, y a une gestion de queues de messages et chaque client C++ s'y connecte en permanence pour vérifier qu'il n'a pas de nouveau message. S'il en a (moi j'balance du XML mais bon), alors il fait ce qu'il a à faire et il rebalance le résultat dans un tableau de char.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°467953
Cherrytree
cn=?
Posté le 25-07-2003 à 16:52:17  profilanswer
 

Le prog C++ qui démarre sur la demande de ta servlet, tu le démarres comment ? RMI, sockets, RPC ?


---------------
Le site de ma maman
n°467956
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-07-2003 à 16:54:03  profilanswer
 

Cherrytree a écrit :

Le prog C++ qui démarre sur la demande de ta servlet, tu le démarres comment ? RMI, sockets, RPC ?


A la mano [:spamafote] C'est un demon qui tourne tout le temps, si tu préfères : service sur Windows et daemon sur Unix.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°467959
Cherrytree
cn=?
Posté le 25-07-2003 à 16:55:19  profilanswer
 

Taiche a écrit :


A la mano [:spamafote] C'est un demon qui tourne tout le temps, si tu préfères : service sur Windows et daemon sur Unix.


Mais le daemon c'est toi qui l'a écrit ? Peux-tu m'en dire plus, je sens que la solution savoureuse est au bout de ton explication.


---------------
Le site de ma maman
n°467965
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-07-2003 à 16:59:59  profilanswer
 

Cherrytree a écrit :


Mais le daemon c'est toi qui l'a écrit ? Peux-tu m'en dire plus, je sens que la solution savoureuse est au bout de ton explication.


Ba au total, j'ai un exécutable en C++. Avec un main et tout ça. Pour le lancer, soit l'admin de la machine le lance à la main, soit il l'enregistre en tant que service auprès de Windows. Sous Unix, il suffit de le mettre dans les .rc de /etc de façon à ce qu'il soit lancé au boot.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°467979
Cherrytree
cn=?
Posté le 25-07-2003 à 17:19:24  profilanswer
 

Oui c'est pas con ça. L'enregistrer en tant que service. Je vais regarder ça. Et pour les appels, ta servlet elle procède comment ?


---------------
Le site de ma maman
mood
Publicité
Posté le 25-07-2003 à 17:19:24  profilanswer
 

n°468078
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-07-2003 à 18:57:19  profilanswer
 

Ba pour les appels, le C++ se connecte en HTTP sur une ôt servlet (j't'ai dit, c'est un gros mécanisme). Cette servlet gère des queues de messages et met le process C++ en attente. Ma servlet à moi appelle cette servlet de messages et lui envoie le nom de la commande à contacter, ainsi que le message qui va bien. La servlet de message retrouve la commande C++, lui refile le message et zou.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°468132
Cherrytree
cn=?
Posté le 25-07-2003 à 20:20:20  profilanswer
 

Autrement dit ton programme C++ est communiquant.


---------------
Le site de ma maman
n°468138
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-07-2003 à 20:34:57  profilanswer
 

Cherrytree a écrit :

Autrement dit ton programme C++ est communiquant.


Bin ui, y a une partie qui cause en HTTP avec la servlet en face [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°469387
LetoII
Le dormeur doit se réveiller
Posté le 28-07-2003 à 07:29:51  profilanswer
 

Et pkoi ta 2eme servlet ne lancerai pas directement les autres progs?


Message édité par LetoII le 28-07-2003 à 07:30:23

---------------
Le Tyran
n°469446
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-07-2003 à 10:21:22  profilanswer
 

LetoII a écrit :

Et pkoi ta 2eme servlet ne lancerai pas directement les autres progs?


Bin passke la servlet et le prog sont pas sur la même machine (ni parfois le même OS). Pis de toute façon, depuis un environnement WebSphere, chu jamais arrivé à lancer un exécutable depuis une servlet (sécu à la con ?) [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°469688
chichos
Posté le 28-07-2003 à 13:23:39  profilanswer
 

Eclairez ma lanterne, j'ai une petite question :  :whistle:  
 
Pourquoi ne pas utiliser du SOAP pour dialoguer entre les deux machines ?
 
La mis en place est assez rapide pour un dialogue SOAP, non ?
 
client Java et serveur C..

n°469737
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-07-2003 à 13:58:25  profilanswer
 

Ba c'est à peu près l'idée, hein, transmission d'XML via HTTP pour exécuter des process à distance... sauf que ba SOAP ça requiert un serveur HTTP, non ? Bin moi, mon process C++ il est indépendant, je veux pas qu'il ait besoin d'un serveur HTTP et tout le tremblement pour tourner [:spamafote]
Qui dit SOAP dit serveur (ou alors j'ai pas tout bien pigé au mécanisme) ; ici, on est dans le cas machine cliente <-> machine serveur d'appli (WebSphere, etc...) <-> machine extérieure lançant une commande spécifique.
L'objet du topic est l'appel de la commande spécifique par le serveur. S'il faut intégrer un serveur SOAP pour chaque machine devant lancer la commande spécifique, on a pas gagné la guerre [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°469783
Cherrytree
cn=?
Posté le 28-07-2003 à 14:22:35  profilanswer
 

Non, ça on l'a pas gagné.


---------------
Le site de ma maman
n°469798
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-07-2003 à 14:32:32  profilanswer
 

Et surtout bonne chance [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Appeler un programme distant avec Java

 

Sujets relatifs
[Java] Class swing - Coordonnées d'un JButton[JAVA] Mécanisme pour charger des JAR à la demande
apllet java IRC et signature????Pour les pros de JAVA et JSP
ptite question en java[résolu][JAVA] Interfaces abstraites en Java --> quel intérêt ?
[ Delphi ] Vérifier le statut d'une machine et d'un programme serveurs[JAVA/FTP] Question de codage
combiner java et sql[Java ou Delphi] calcul de débit ADSL
Plus de sujets relatifs à : Appeler un programme distant avec Java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR