import java.awt.*; import java.rmi.*; import java.io.*; import java.net.*; import java.util.*; import java.lang.*; public class Client { public static void main(String argv[]) { try { long t1,t2; int i; System.out.println("Démarrage du client"); System.out.println("Connexion du client au serveur"); Serveur_itf server = (Serveur_itf)Naming.lookup("//localhost:2000/Hello"); System.out.println("Le client est connecté au server\n"); System.out.println("Appel sur le serveur sans paramètre"); t1 = System.currentTimeMillis(); for (i=0;i<1000;i++) { server.Vide(); } t2 = System.currentTimeMillis(); System.out.println(" time:"+(t2-t1)/1000+"."+(t2-t1)%1000+" ms"); System.out.println(" time:"+(t2-t1)+" micros"); i = 1; System.out.println ("\n\nCreation d'un objet local : "+i); ObjetLocal ol = new ObjetLocal (i); System.out.println("\nAppel sur le serveur avec un objet local en paramètre"); System.out.println("la fenetre ou s'affiche l'état de l'objet donne le processus qui possède l'objet"); server.AfficheObjetLocal(ol); t1 = System.currentTimeMillis(); for (i=0;i<1000;i++) { server.PasseObjetLocal(ol); } t2 = System.currentTimeMillis(); System.out.println(" time:"+(t2-t1)/1000+"."+(t2-t1)%1000+" ms"); System.out.println(" time:"+(t2-t1)+" micros"); i = 2; System.out.println ("\n\nCreation d'un objet distant : "+i); ObjetDistant_itf od = new ObjetDistant (2); System.out.println("\nAppel sur le serveur avec un objet distant en paramètre"); System.out.println("la fenetre ou s'affiche l'état de l'objet donne le processus qui possède l'objet"); server.AfficheObjetDistant(od); t1 = System.currentTimeMillis(); for (i=0;i<1000;i++) { server.PasseObjetDistant(od); } t2 = System.currentTimeMillis(); System.out.println("\n time:"+(t2-t1)/1000+"."+(t2-t1)%1000+" ms"); System.out.println(" time:"+(t2-t1)+" micros"); System.out.println ("\n\nCréation d'un security manager pour pouvoir charger le stub de l'objet présent dans la troisième JVM"); System.setSecurityManager(new RMISecurityManager()); System.out.println ("Connection à un objet présent dans une troisième JVM"); ObjetStubInconnu_itf osi = (ObjetStubInconnu_itf)Naming.lookup("//localhost:2100/ObjetStubInconnu");; System.out.println("\nAppel sur le serveur avec en paramètre, un objet distant qui est dans une troisième JVM et dont le stub sera accédé par http"); System.out.println("la fenetre ou s'affiche l'état de l'objet donne le processus qui possède l'objet"); server.AfficheObjetStubInconnu(osi); t1 = System.currentTimeMillis(); for (i=0;i<1000;i++) { server.PasseObjetStubInconnu(osi); } t2 = System.currentTimeMillis(); System.out.println("\n time:"+(t2-t1)/1000+"."+(t2-t1)%1000+" ms"); System.out.println(" time:"+(t2-t1)+" micros"); System.out.println("\nstop client"); } catch (Exception e) { System.out.println("Creator: " + e.getMessage()); e.printStackTrace(); } } }