begin process at 2010 03 11 21:49:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Système

 > 

API

 > 

Application externe lancé et traces non affichés en temps réel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Application externe lancé et traces non affichés en temps réel

vendredi 3 juillet 2009 à 09:53:47 | Application externe lancé et traces non affichés en temps réel

Jaldo

Bonjour,
Merci pour l'aide que peut apporter celui qui lit ce message.
G un serveur écrit en C sous linux, je lance ce binaire à partir d'une application Java, forcément tant que le server tourne, ce process a la main et l'application Java est bloqué par la méthode waitFor().
Je lance un client en Parallèle dans un terminal sous linux et j'envois des commandes au serveur mentionné ci-haut, normalement dans la console Java, je dois voir apparaitre les traces du serveur puisque je dirige stdout vers la console Java, sauf que des paquets de traces apparaissent toutes les 60 secondes à peu près et donc mon application est à jeter à la poubelle puisque le but c'est d'envoyer des commandes au serveur et voir en temps réel ses traces.
Merci de ne pas écrire des réponses genre utilise la classe Process ou Runtime et InputStream , tout ça je maitrise , le probleme est que les traces du serveur ne s'affichent pas en temps réel dans la console Java.
Merci vous votre aide...
vendredi 3 juillet 2009 à 10:36:18 | Re : Application externe lancé et traces non affichés en temps réel

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Si tu nous montre pas le code correspondant à ce qui ne marche pas comme il faut, ca va être dur de savoir d'où ca vient !
vendredi 3 juillet 2009 à 11:03:53 | Re : Application externe lancé et traces non affichés en temps réel

Jaldo

Bonjour DARKSIDIOUS

le code est ci-dessous:

public class StreamCatcher extends Thread{
private BufferedReader streamReader = null;
public StreamCatcher(InputStream iStream){
  InputStreamReader iStreamReader = new InputStreamReader(iStream);
  streamReader = new BufferedReader(iStreamReader);
}

public void run(){
String line = null;
try{
    while ( (line = streamReader.readLine()) != null) {
         System.out.println(line);
        }}
catch(Exception e){
                              e.printStackTrace();
         }
         streamReader.close();
}}

Dans mon Main , l'appel se fait de la façon suivate :

String[] command = { "mon_serveur", _optionsssss, ..};
try {
    Process pr = Runtime.getRuntime().exec(command);
   StreamCatcher outCatcher = new StreamCatcher(pr.getInputStream());
   outCatcher.setPriority (Thread.MAX_PRIORITY);
   outCatcher.start();
   pr.waitFor();
}catch(Exception e){e.printStack();}


voila le code , si je lance le serveur dans un terminal sous linux et que jenvoie des commandes via le client lancé dans un autre terminal , g des traces dans le terminal du client tout le temp ( en fait c un serveur qui reçoit un flux TV et qui traite les tables du Flux).Sauf que kand je lance mon serveur à partir de l'appli Java vec le code plus haut , les memes traces apparaissent mais par paquet , c a dire chak x temps j'ai un paket de traces qui s'affichent d'un seul coup dans la console de mon environnement de développement Java, pour info il s'agit de NetBeans sous Linux.
Merci pour votre aide....
samedi 4 juillet 2009 à 08:14:43 | Re : Application externe lancé et traces non affichés en temps réel

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Je ne sais pas comment fonctionne exactement le BufferedReader mais son principe c'est qu'il bufferise les données afin d'optimiser les lectures. Et peut-être que le soucis vient de là : la lecture ne se déclencherai que lorsqu'il aurait suffisament de données à lire... Ce qui peut provoquer des lags et expliquerait les paquets de trace et non des traces en continu...

Essaye de n'utiliser que le InputStreamReader (sans passer par le BufferedReader donc), histoire de voir si ca ne viendrait pas de cà.
lundi 6 juillet 2009 à 11:39:37 | Re : Application externe lancé et traces non affichés en temps réel

Jaldo

Bonjour ,j'ai déjà pensé à cela mais ça fonctionne pas.
Je pense que je veux abandonner le projet..
Merci pour ton aide quand meme..



Cette discussion est classée dans : java, application, serveur, temps, traces


Répondre à ce message

Sujets en rapport avec ce message

application client serveur en java [ par florent1 ] Voici mon problème:je dois réaliser une application client serveur en java (avec Jbuilder). Cette appli devra attaquer une base Oracle.Est ce que l'in Pq TOMCAT comme serveur ??? [ par Ghyzi ] Bonjour,je dois développer un logiciel en java dans le cadre de mes études.J'utilise un modèle client-serveur. Je veux donc mettre mon application pri comment configueur un serveur smtp pour une application java (mail) [ par zazou1 ] salut a tous,vous pouvez m'aidez pour configueur un serveur smtp sur windows XP (pour une application java (e_mail)).merci d'avance. Application java sur linux [ par hlimaiem ] Limaiem heykelBonjour j'ai elaborer une application java permettant l'aspiration depuis un site web pour offrir un service precis. Cette application v Application Client/Serveur FTP en Java [ par medalihentati ] Salut!Aidez moi!!!J'ai un travail à rendre qui consiste en une application Client/Serveur FTP  (Java)(avec une interface pour le client et une autre p Connexion entre une application java et un serveur Domino distant [ par Hyperpenguin ] Bonjour, A l'occasion d'un stage j'ai à programmer une application qui d'une part permettrait de gérer l'administration de base de donnés Notes sur un Accès Application Web Java [ par g25451 ] Bonjour, J'aimerais savoir comment faire en sorte que mon Application Web réalisé en javaavec comme serveur JBoss, puisse être accessible depuis un au comunication SOCKET CLIENT C SERVEUR JAVA [ par aymoun11 ] bonjour, je suis entrain de développer un connexion entre un serveur java et un client C ,le probléme que la connexion démarre et le serveur et en éco comunication client C serveur java [ par aymoun11 ] bonjour,je suis entrain de faire communiqué un client c et un serveur java ,ce dernier il accepte le buffer mais il ne l'affiche pas j'ai utilisée la connection application java avec une base des données mysql [ par aladino ] bonjour mon projet conciste à créer une base des données avec mysql et le geré en utilisant une application java mais le probleme que je connais comme


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales