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 :

ArrayIndexOutOfBoundsException en RMI


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Par défaut ArrayIndexOutOfBoundsException en RMI
    Bonjour, je commence à travailler avec RMI, et j'ai trouver ce code client sur le net, mais, quant je l'execute, il m'affiche l'erreur : Usage : HelloClient host venant de l’exception : ArrayIndexOutOfBoundsException. J'ai pas compris pourquoi et je ne sais pas comment la résoudre. Pourriez vous m'aider
    Remarque : le client dois afficher 'hello' venant du serveur.

    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
    import java.net.MalformedURLException;
    import java.rmi.Naming;
    import java.rmi.NotBoundException;
    import java.rmi.RemoteException;
     
    public class HelloClient {
        public static void main(String[] args) {
            String url = null;
            Hello hello = null;
            try {
                url = "rmi://" + args[0] + 							":1099/Hello";
                hello = (Hello) Naming.lookup(url);
            } catch (MalformedURLException e) {
                System.err.println("l'URL " + url + 
    			"est incorrecte"); System.exit(1);
            } catch (RemoteException e) {
                System.err.println(
    				"Avez-vous lancé le rmiregistry ?");
                System.exit(2);
            } catch (NotBoundException e) {
                System.err.println(
    				"Avez-vous lancé le serveur ?");
                System.exit(2);
            } catch (ArrayIndexOutOfBoundsException e) {
                System.err.println(
    				"Usage : HelloClient host");
                System.exit(3);
            }
            try {
                System.out.println(hello.sayHello());
            } catch (RemoteException e) {
                System.err.println("le serveur semble down");
                System.exit(4);        
            }
        }
    }
    Merci d'avance!

  2. #2
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    Le ArrayIndexOutOfBoundsException provient certainement de là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url = "rmi://" + args[0] + ":1099/Hello";
    Comment as-tu lancé l'exécution du programme ?

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Par défaut
    Étapes de l’exécution:
    créer un external tool : rmic
    créer un external tool :rmiregistry
    les lancer
    Lancer le serveur (run)
    Lancer le client (run)...
    Je n'est pas utiliser les comandes dos.
    En effet l'example est sur un ppt:
    electricservices.googlecode.com/files/RMI.ppt
    Merci

  4. #4
    Membre chevronné
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 158
    Par défaut
    OK.
    Alors, à l'étape "lancer le client (run simple)", il va falloir renseigner l'argument utilisé à la ligne de code que j'ai citée plus haut.

    Au lieu de le lancer directement (par exemple en faisant menu "Run" > "Run"), ouvre la fenêtre de configuration (par exemple en faisant menu "Run" > "Run configurations"), va dans l'onglet "Arguments", et tape "localhost" (ou l'adresse IP où se trouve le serveur) dans la zone de texte "Program Arguments".
    Puis clique sur "Run".
    Les fois suivantes tu n'auras pas à réouvrir la fenêtre de configuration (sauf si tu veux changer d'adresse IP...).

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Par défaut
    Merci Merci Merci!! ça marche parfaitement

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

Discussions similaires

  1. [RMI] AccessControlException
    Par taofoo dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 19/09/2007, 00h56
  2. [RMI] Impossible de lancer mon serveur
    Par Dahu dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 11/06/2006, 09h17
  3. [Rmi]CastException
    Par splend_f dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 21/05/2004, 17h59
  4. [Info] Socket vs RMI
    Par Erok dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 18/05/2004, 16h00
  5. [rmi] Comment exécuter rmic sous Jbuilder9
    Par ensi dans le forum JBuilder
    Réponses: 4
    Dernier message: 27/03/2004, 09h09

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