IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Technologie][Stratégie] Faire communiquer deux applis


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut [Technologie][Stratégie] Faire communiquer deux applis
    J'ai un probleme simple (enfin je pense): on va me donner des infos durant l'execution de mon appli à partir de l'execution d'une ligne dans un .bat. J'avais pense que je pouvais mettre ces infos dans les arguments de lancement de mon appli => une autre appli serait alors créée. Cette deuxieme execution de l'appli detecterait que la premiere appli serait lancee et lui passerait les infos qu'elle a recu en argument.

    J'ai deja trouve comment detecter que mon appli est lancee 2 fois (en bindant un port meme si je trouve pas ca bien propre). Reste a faire communiquer les deux executions de mon application. Sachant que ces deux appli seront sur la meme machine, suis-je obligé de faire appel à des communications socket ou y-a-t'il d'autres solutions ?

    Ah et si vous trouvez une maniere plus simple pour passer les donnees, n'hésitez pas a faire partager vos idees.

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Il existe plus simple : l'objet Process.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process proc = Runtime.getRuntime().exec(cmdLine);
    et cmdLine est une variable de type String qui lance ton application. Ensuite tu peux lire ce qu'écrit ton application, ou lui passer des ordres ainsi que l'arrêter.

    En gros ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Appli1 en java et Appli2 en n'importe quoi
     
    Appli1 est lancée...
     
    dans Appli1 : 
     
    ...
    Process proc = Runtime.getRuntime().exec("c:\...\Appli2");
    // on lance l'appli2 depuis l'Appli1
    // et à partir de là on peut communiquer avec elle, savoir quand elle est terminée ou la couper.
    ...
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Milles excuses si je me suis mal exprime.
    L'appli 1 ne gere pas du tout l'appli 2 pour la bonne et simple raison que l'info viendra de l'appli 2.

    Si tu veux dans mon esprit ca se passera comme ca:

    Appli 1 lancee (comme un deamon)

    un fichier .bat est lance par un utilisateur par exemple (ou par un evenement que je ne controle pas)

    ce .bat contient "java monappli -info"

    ce qui déclenche une 2e instance de monappli avec les infos

    appli 2 essaye de se binder au port mais n'y arrive pas car appli 1 l'a fait

    reste a faire communiquer ces deux applis pour que appli2 avertisse appli1 des infos

  4. #4
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    un thread avec une soket sur une ip style 127.0.0.1 ca le ferait pas ca??
    ou alors un RMI
    qq t'en dis ? :o
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ben ma foi si je trouvais rien d'autre j'aurais fait ca de toutes manieres mais je trouvais ca un peu excessif d'avoir recours a des mecanismes reseau alors que je suis en local.

  6. #6
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    RMI simplifie grandement la vie pour ton truc a mon avis
    essaies donc
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ok je te fais confiance gars
    merci

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    RMI ou corba (préférence pour RMI mais si tu maitrises corba) effectivement dans ce cas hum. Il existe une solution pouerk de chez pouerk (mais utilisée dans certaines entreprises) que je ne te conseille d'ailleurs même pas, c'est un ignoble pirate qui contrôle mon clavier : tu peux passer par des fichiers temporaires que tu lis/écris à un emplacement donné comme tu ferais avec des flux de communication. Attention je te rapelle que ce n'est pas moi qui ai parlé de ça!
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Rattrape-le et dis lui que c'est bien moche si y'a un crash ou une annerie comme ca. Etant donne que l'appli en question devra transiter des donnees concernant des communications entre entreprises du genre commandes de produit, ca le fait pas des masses. Je t'avoue que j'aurais bien aime trouver un systeme similaire aux messages windows. Ca m'avait permis de me sortir la tete du sac dans ce genre de probleme.

  10. #10
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ben le java étant fait pr être portable, ce genre d'astuce n'est pas vraiment possible. Donc RMI ou socket. A moins que... aussi bien il est possible de créer un objet Process sur n'importe quel process qui tourne du moment que t'as son PID!! Je regarde.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    alors ca ca me trouerait le ... pardon
    milles excuses.

  12. #12
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    à mon avis RMI c'est le plus facile et c'est bien pour ton cas
    sinon socket avec protocope TCP/IP mais c'est surement plus long a mettre en place
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  13. #13
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    alors ca ca me trouerait le ... pardon
    ton ... est en sûreté !! Y a pas moyen !!
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    merci pour lui

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SOAP] Comment faire communiquer deux applis?
    Par r0d dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 29/04/2008, 14h45
  2. faire communiquer deux applications j2EE au sein de jBoss
    Par zizoux5 dans le forum Wildfly/JBoss
    Réponses: 9
    Dernier message: 18/04/2007, 21h57
  3. Faire communiquer deux programmes python
    Par bestdomdom dans le forum Général Python
    Réponses: 5
    Dernier message: 26/10/2006, 09h30
  4. Faire communiquer deux applications
    Par thierrybatlle dans le forum Langage
    Réponses: 1
    Dernier message: 31/01/2006, 09h37
  5. comment faire communiquer deux form MDI?
    Par eponette dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2005, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo