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

avec Java Discussion :

Problème avec RMI


Sujet :

avec Java

  1. #21
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    De la même manière que tu l'as fait pour la configuration du client (dans les paramètres de la VM).

  2. #22
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    voila j'ai appliqué tes consignes puis j'ai commencé mes manœuvres

    1- je lance le serveur voila ce qui se passe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Mise en place du Security Manager ...
    Enregistrement du serveur
    Serveur lancé
    2-puis je lance le client:

    je pense que c bon ca marche n'est ce pas ? mais le seul truc qui me chiffonne c'est pour le message "bonjour" ne s'affiche pas !!

    enfin bref merci beaucoup

  3. #23
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Le client TestRMI ou TestClient ?

    Dans la classe TestClient, il y a un "catch (Exception e)". Si une exception se produit, est-ce qu'elle est affichée ? (C'est un sujet qui a déjà été abordé en début de discussion, mais je suis étonné que ça ne fonctionne pas chez toi et c'est la seule piste que je vois.)

  4. #24
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    le client c'est la classe TestClient.java

    et non elle ne s'affiche plus maintenant car le probleme s'est résolue je pense chui pas un expert en java j'en métrise que 25% j'apprends le RMI car au prochain seumestre a la fac je l'aurai en tp alors je veux pas trop galéré voila je vous explique tous ca pour que vous sachiez pkoi parfois je reponds mal a vos questions

  5. #25
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    J'suis perplexe.

    Tu peux reposter le code de tes 4 classes ?

    J'me permets une remarque : au lieu de "foncer" sur RMI ainsi, est-ce qu'il ne serait pas plus judicieux de mieux assimiler le java. Les exceptions par exemple car tu ne semblais pas forcément le maitriser ou le mode debug pour debugguer tes programmes. Ca pourrait faire partie des bases à assimiler avant RMI.

    Après, vu que je ne connais pas le contexte, je te laisse voir ce qui peut être le mieux pour toi.

  6. #26
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    pas de soucis du moment que vous m'aidiez c'est le plus important

    Information.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package test_rmi;
     
    import java.rmi.*;
     
    public interface Information extends Remote {
     
       public String getInformation() throws RemoteException;
     
    }
    TestRMIServeur.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    package test_rmi;
     
    import java.rmi.*;
     
    import java.rmi.server.*;
     
    public class TestRMIServer extends UnicastRemoteObject implements Information {
     
       protected TestRMIServer() throws RemoteException {
          super();
       }
     
       public String getInformation()throws RemoteException {
          return "bonjour";
       }
     
    }
    TestServeur.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    package test_rmi;
     
    import java.rmi.Naming;
     
    public class TestServeur {
     
    	public static void main(String[] args) {
     
    		   try {
     
    			   java.rmi.registry.LocateRegistry.createRegistry(1099);
    		      System.out.println("Mise en place du Security Manager ...");
    		      System.setSecurityManager(new java.rmi.RMISecurityManager());
     
    		      TestRMIServer testRMIServer = new TestRMIServer();
     
    		      System.out.println("Enregistrement du serveur");
     
     
    		      Naming.rebind("rmi://"+java.net.InetAddress.getLocalHost()+
    				         "/TestRMI",testRMIServer);
    		      //Naming.rebind(";rmi://localhost/TestRMI", testRMIServer);
     
     
    		      System.out.println("Serveur lancé");
     
    		   } catch (Exception e) {
    		      System.out.println("Exception capturée: " + e.getMessage());
    		   }
     
    		}
     
    }
    TestClient.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    package test_rmi;
     
    import java.rmi.Naming;
    import java.rmi.RMISecurityManager;
    import java.rmi.Remote;
     
    public class TestClient {
     
    	public static void main(String[] args) { 
     
    		   System.setSecurityManager(new RMISecurityManager());
     
    		   try {
    			   Remote r = Naming.lookup("rmi://127.0.0.1/TestRMI");
    			   if (r instanceof Information) {
    			     String s = ((Information) r).getInformation();
    			     System.out.println("chaine renvoyée = " + s);
    			   } 
     
    			 } catch (Exception e) {
    			   System.out.println(e.getMessage());
    			 }
    		}
     
    }
    Voila svp g une autre question pkoi le message "bonjour" ne s'affiche pas ?

    Cordialement

  7. #27
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Reprends le post du 07/01/2012 à 11h16 et fais la modification conseillée.
    Et "bonjour" devrait s'afficher.

  8. #28
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    voila g ajouté cette instruction :

    dans le catch de la classe TestClient.java

    TestClient.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    package test_rmi;
     
    import java.rmi.Naming;
    import java.rmi.RMISecurityManager;
    import java.rmi.Remote;
     
    public class TestClient {
     
    	public static void main(String[] args) { 
     
    		   System.setSecurityManager(new RMISecurityManager());
     
    		   try {
    			   Remote r = Naming.lookup("rmi://127.0.0.1/TestRMI");
    			   if (r instanceof Information) {
    			     String s = ((Information) r).getInformation();
    			     System.out.println("chaine renvoyée = " + s);
    			   } 
     
    			 } catch (Exception e) {
    			   System.out.println(e.getMessage());
    			   e.printStackTrace();
    			 }
    		}
     
    }
    et voila la reponse donné apres relancemant du serveur et execution de la classe TestClient.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    TestRMI
    java.rmi.NotBoundException: TestRMI
    	at sun.rmi.registry.RegistryImpl.lookup(Unknown Source)
    	at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    	at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
    	at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    	at sun.rmi.transport.Transport$1.run(Unknown Source)
    	at sun.rmi.transport.Transport$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    	at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    	at java.rmi.Naming.lookup(Unknown Source)
    	at test_rmi.TestClient.main(TestClient.java:14)
    Qu'est ce que vous en pensez ?

  9. #29
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Je pensais à ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                Remote r = Naming.lookup("rmi://"
                        + java.net.InetAddress.getLocalHost()
                        + "/TestRMI");
    Mais maintenant je comprends le message "TestRMI"....
    Change le remote comme montré et relance le client.

    Et pour répondre à ta question : j'en pense que RMI ne trouve pas ce qu'il souhaite en face car le remote n'est pas défini de la même manière que le serveur.

  10. #30
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Besoin d'une précision : tu avais bien lancé la commande "rmic ..." comme indiqué dans le tutoriel que tu suis ?

  11. #31
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    c bon g corrigé la classe TestClient.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    package test_rmi;
     
    import java.rmi.Naming;
    import java.rmi.RMISecurityManager;
    import java.rmi.Remote;
     
    public class TestClient {
     
    	public static void main(String[] args) { 
     
    		   System.setSecurityManager(new RMISecurityManager());
     
    		   try {
    			   Remote r = Naming.lookup("rmi://"+java.net.InetAddress.getLocalHost()+"/TestRMI");
    			   if (r instanceof Information) {
    			     String s = ((Information) r).getInformation();
    			     System.out.println("chaine renvoyée = " + s);
    			   } 
     
    			 } catch (Exception e) {
    			   System.out.println(e.getMessage());
    			   e.printStackTrace();
    			 }
    		}
     
    }
    stp pardon de te rederanger mais comment on fait pour arrêter le serveur après qu'il soit lancer ?

  12. #32
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Ca fonctionne maintenant ?

    Juste au dessus de la console Eclipse (là où tu vois les messages défiler), il y a un icône avec légende "Display selected console". Tu choisis la console de ton serveur.
    Ensuite, le bouton "Stop" s'affichera et tu pourras arrêter le serveur.

  13. #33
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    c bon g corrigé la classe TestClient.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    package test_rmi;
     
    import java.rmi.Naming;
    import java.rmi.RMISecurityManager;
    import java.rmi.Remote;
     
    public class TestClient {
     
    	public static void main(String[] args) { 
     
    		   System.setSecurityManager(new RMISecurityManager());
     
    		   try {
    			   Remote r = Naming.lookup("rmi://"+java.net.InetAddress.getLocalHost()+"/TestRMI");
    			   if (r instanceof Information) {
    			     String s = ((Information) r).getInformation();
    			     System.out.println("chaine renvoyée = " + s);
    			   } 
     
    			 } catch (Exception e) {
    			   System.out.println(e.getMessage());
    			   e.printStackTrace();
    			 }
    		}
     
    }
    j'ai éxécuté et voila la reponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine renvoyée = bonjour
    stp pardon de te rederanger mais comment on fait pour arrêter le serveur après qu'il soit lancer ?

  14. #34
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Voilà une bonne nouvelle.

    Pour arrêter le serveur, tu as la réponse dans le post précédent.

    Je te laisse marquer la discussion comme "résolue" et bonne continuation !

    Benoit

  15. #35
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par bboulch Voir le message
    Ca fonctionne maintenant ?

    Juste au dessus de la console Eclipse (là où tu vois les messages défiler), il y a un icône avec légende "Display selected console". Tu choisis la console de ton serveur.
    Ensuite, le bouton "Stop" s'affichera et tu pourras arrêter le serveur.
    Merci ca marche

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème avec RMI sur différents réseaux
    Par Skip57437 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 11/02/2015, 15h31
  2. Problème avec RMI
    Par marwen109 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 25/01/2012, 22h43
  3. probléme avec Rmi besoin d'aide
    Par seifdev dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 27/12/2009, 06h27
  4. Problème avec RMI connection avec JBOSS
    Par nakata77 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 29/01/2007, 23h25
  5. [RMI] Problème de RMI avec TomCAT 5.5 et jre1.5.0_06
    Par YokoSop dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 08/03/2006, 09h57

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