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

Entrée/Sortie Java Discussion :

RMI Test d'un petit exemple


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut RMI Test d'un petit exemple
    Je suis debutant java.rmi je viens de trouver n ptit exemple sur le net j'aimerai bien savoire comment je peut le tester?

    sujet : le serveur envoye une chaine de caractere au client.
    probleme : le client ne recois pas la chaine.

    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
    package test_rmi;
     
    import java.applet.*;
    import java.awt.*;
    import java.rmi.*;
     
    public class AppletTestRMI extends Applet {
    	private String s;
    	public void init() {
    		try {
    			Remote r = Naming.lookup("rmi://127.0.0.1/TestRMI");
    			if (r instanceof Information) {
    				s = ((Information) r).getInformation();
    			}
    		} catch (Exception e) {  }
    	}
    	public void paint(Graphics g) {
    		super.paint(g);
    		g.drawString("chaine retournée = "+s,20,20);
    	}
    }
    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.*;
    import java.rmi.server.*;
     
    public class TestRMIServer extends UnicastRemoteObject implements Information {
    	protected TestRMIServer() throws RemoteException {
    		super();
        }
        public String getInformation()throws RemoteException {
           return "bonjour";
        }
        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);
        	}
        	catch (Exception e) { System.out.println("Exception capturée: " + e.getMessage()); }
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    package test_rmi;
     
    import java.rmi.*;
    public interface Information extends Remote {
    	public String getInformation() throws RemoteException;
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 138
    Par défaut
    Est ce que le serveur se lance correctement?

    Le client se trouve dans une applet Java et il faut l'afficher sur une page web. Je ne m'embeterais pas avec ça, essaie plutot ce code :

    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
     
    package test_rmi;
     
    import java.rmi.*;
     
     
    public class AppletTestRMI  {
     
            public static void main(String[] args) {
     
                String s="";
     
                try {
    			Remote r = Naming.lookup("rmi://127.0.0.1/TestRMI");
    			if (r instanceof Information) {
    				s = ((Information) r).getInformation();
    			}
    		} catch (Exception e) {
     
                        System.out.println(e.getMessage());
                    }
     
     
                System.out.println("chaine retournée = "+s);
        }
     
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 138
    Par défaut
    Je viens de faire tourner l'exemple. Il y a un problème de sécurité à régler.

    Il faut créer un fichier appelé policy (ou un autre nom au choix) avec ce contenu :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    grant {
    permission java.security.AllPermission;
    };
    Ensuite il faut lancer le serveur avec la ligne de commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -Djava.security.policy=/home/toto828/NetBeansProjects/RMI/src/policy TestRMIServer

Discussions similaires

  1. Réponses: 46
    Dernier message: 04/08/2006, 00h18
  2. Réponses: 1
    Dernier message: 09/06/2006, 09h42
  3. [HSQLDB] Votre avis sur un petit exemple complet...
    Par calogerogigante dans le forum Persistance des données
    Réponses: 8
    Dernier message: 16/05/2006, 08h21
  4. PHP ou Perl: Cherche petit exemple tout con.
    Par fifto dans le forum Web
    Réponses: 15
    Dernier message: 28/03/2006, 21h35

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