import java.awt.*; import java.rmi.*; // HelloClient : client qui va lire un message genere par le serveur // public class HelloClient extends Frame { // Variable qui stocke ledit message // String message = ""; // Port permettant d'acceder a rmiregistry // static String portRmiregistry; // Constructeur pour HelloClient // public HelloClient (String Machine) { try { // Recuperer la reference d'objet du serveur a interroger // a partir d'un nom symbolique. Cette reference est // renvoyee par le service de nom de JAVA : rmiregistry // // La structure d'un nom est : //machine:port/nom // "machine" est le nom de la machine ou tourne le service // et "nom" correspond au nom du service. // le "port" est le numero de port // ou rmiregistry est en attente des requetes // pour le service de noms // // String nomService = "//" + Machine + ":" + portRmiregistry + "/HelloServeur"; System.out.println (" Connexion au service : " + nomService); Hello obj = (Hello) Naming.lookup (nomService); // Finalement, on peut invoquer la methode de l'objet // qui est heberge par le serveur // message = obj.lireMessage (); } catch (Exception e) { System.out.println ("Hello exception: " + e.getMessage ()); e.printStackTrace (); } // On affiche le resultat obtenu du serveur // setSize (500, 120); setVisible (true); } // Methode paint pour l'interface homme machine // public void paint (Graphics g) { g.drawString (message, 25, 50); } // Methode principale // public static void main (String args[]) { if (args.length != 2) { System.out.println ("Deux arguments : port-rmiregistry machine ! "); System.exit (2); } portRmiregistry=args[0]; myHostname machine = new myHostname(args[1]); new HelloClient (machine.QualifiedHost()); } }