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 :

Débutant RMI, problème "connection refused"


Sujet :

avec Java

  1. #1
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut Débutant RMI, problème "connection refused"
    Bonjour,

    Je suis un tuto sur RMI en développant sur linux.

    Je crois que le code est correcte car je n'ai pas d'erreur de compil.
    Le probleme doit se situer au niveau des differentes console et VM utilisee.

    Pour memoire le code compiler avec javac -d . nom des class
    et completer avec rmic -d . hello.HelloImpl
    Je suis sous:
    java version "1.6.0_22"
    OpenJDK Runtime Environment (IcedTea6 1.10.2) (suse-4.3.1-i386)
    OpenJDK Client VM (build 20.0-b11, mixed mode)
    Donc en principe je n'ai pas de HelloImpl_Skel.class

    Juste ici dessous les class compilees:
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    L'interface Hello
     
    package hello;
    import java.rmi.Remote;
    import java.rmi.RemoteException;
     
    public interface Hello extends Remote{
            void sayHello(String param) throws RemoteException;
    } // Fin interface Hello 
     
    La class avec implementation
    package hello;
    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.RemoteException;
     
    public class HelloImpl extends UnicastRemoteObject implements Hello{
     
            public HelloImpl() throws RemoteException{ super(); }
     
            public void sayHello(String param) throws RemoteException{
                    System.out.println("Hello" + param + "!");
    }
     
    } // Fin class HelloImpl
     
     
    // L'application client
     
    package hello;
    import java.rmi.Naming;
    import java.rmi.RemoteException;
    import java.rmi.NotBoundException;
    import java.net.MalformedURLException;
     
    class HelloClient{
            public static void main(String[] args){
     
                    try {
                            Hello helloObject = (Hello)Naming.lookup("//"+ args[0] + "/Hello");
                            helloObject.sayHello("vio");
    }catch(RemoteException e){
    System.out.println("HelloClient exception" + e.getMessage());
    }catch(NotBoundException e){
    System.out.println("HelloClient : objectNotBound" + e.getMessage());
    }catch(MalformedURLException e){
    System.out.println("HelloClient : URL malformee" + e.getMessage());
    }
    } // Fin main
     
    } // Fin class HelloClient
     
    // L'application serveur
     
     
     
    package hello;
    import java.rmi.Naming;
    import java.net.MalformedURLException;
    import java.rmi.RemoteException;
     
    class HelloServer{
     
            public static void main(String [] args){
     
                    try{
            HelloImpl helloObj = new HelloImpl();
            Naming.rebind("Hello", helloObj  );
    } catch (RemoteException e){
            System.out.println("HelloServer exception " + e.getMessage());
    } catch (MalformedURLException e){
            System.out.println("HelloServer : url malformee " +e.getMessage());}
     
     
    } // Fin main()
    } // Fin class HelloServer
    Comme dit plus haut a la compil j'ai eu un nouveau dossier nomme hello avec le contenu suivant:

    Hello.class HelloClient.class HelloImpl.class HelloImpl_Stub.class HelloServer.class

    Comme dit je travaille en console dans le dossier qui contient le dossier hello

    Je lance le server de nom avec un num de port:

    rmiregistry 1099

    Dans une autre console je lance le server:

    java hello.HelloServer

    Les deux console sont en attente et aucun message d'erreur.

    Je lance alors le client dans une troisieme console:

    java hello.HelloClient m1:1099

    Et maintenant je recois cette erreur.
    HelloClient exceptionConnection refused to host: m1; nested exception is:
    java.net.ConnectException: Connection refused


    J'ai du mal a voir ce que je dois faire pour corriger cette histoire.

    Est-ce que quelqu'un peut me dire que faire pour en sortir?

    D'avance merci

    marc_3

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 92
    Points
    92
    Par défaut Débutant RMI, problème "connection refused"
    sllt avant tous je ne suis pas un pro du mode console,mais je pense que si ta connection avec ton serveur á echoué c'est dus fais que ton client n'arrive pas á trouver le poste m1 afin de s'adresse á son gestionaire d'annulaire.moi je procéde comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     //registre du serveur
          System.out.println("Lancement du registre");
                Registry registre=LocateRegistry.createRegistry(port);
                connect= new FrameImpl();
                registre.rebind("connecter",connect);
     
      //registre du client
          Registry registre =LocateRegistry.getRegistry("localhost",port);
                frame face=(frame)registre.lookup("connecter");
    car mon client et mon serveur ici son local.
    j'espere avoir pus d'aide.
    a++

  3. #3
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut
    Merci pour la reponse, je comprends pas grand chose malheureusement.
    Il semble que tu connaisses une maniere plus evoluee que la mienne.

    Bon on verra s'il y a d'autre reponse

  4. #4
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut
    Elle est pas bien ma question?

Discussions similaires

  1. Problème Socket : Connection refused
    Par firgon dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 19/03/2009, 08h18
  2. [Débutant] RMI: Problème avec UnicastRemoteObject
    Par badack dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 14/03/2008, 14h30
  3. RMI problème de connection
    Par KalKul dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 26/12/2007, 00h31

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