RE: Dialoge Process

Erik Mazoyer <[email protected]> Thu, 24 Feb 2011 10:13:05 +0100
Newsgroups gmane.comp.java.french.general
Message-ID <750A0A783BB5794B8938CF493365CB4C513C6A527A@BE-BRU-MX01.uni-learning.local>
Bonjour à tous, merci pour vos réponse.

Vais-je oser dire que j'ai résolu mon problème grâce à Damien ?
Je suis allé chercher mon erreur dans les méandres windosiens alors qu'il manquait un Flush !!!
Une erreur triviale !

Bref merci Damien pour ta synthèse.

Et ça marche !


Erik

De : Damien Lecan [mailto:[email protected]]
Envoyé : jeudi 24 février 2011 09:23
À : [email protected]
Objet : Re: Dialoge Process

@Damien : J'ai déjà mis en oeuvre une telle architecture sur Linux pour isoler un programme en C++ qui avait des fuites mémoires (mais qu'on avait pas le droit de corriger). Ca fonctionnait très, très bien. Il fonctionne bien en ligne de commande ton programme en C++ qui fait un écho ?
C'est une bonne chose que tu l'ai mis en place. Bon sous Linux, je ne sais pas si sous Windows nous n'avons pas des « particularités » :).
Sinon, oui en ligne de commande ça marche.

La prod était sous Linux, mais la moitié des développeurs travaillaient sous Windows XP natif (pas de cygwin), l'autre sous Ubuntu.
Et fonctionnait pour tout le monde évidemment ;)

Bon, reprenons ton architecture :
 - un programme Java qui pilote un programme en C++ qui lit stdin pour écrire dans stdout
 - échange d'information par stdin, stdout et stderr
 - le thread qui est branché sur stdin du programme en C++ écrit et flush bien le outputstream
 - ton programme echo en C++ trace dans un fichier qu'il a bien reçu le flux du Java venant de stdin
 - ton programme echo en C++ trace dans un fichier qu'il a bien écrit dans stdout
 - le thread qui est branché sur stdout par un inputstream ne reçoit rien
 - Même chose pour stderr

C'est bien ça ?

Damien