String usage = "Usage: Newserver [-p port] [-f tracefilename]";
System.out.println(usage);
//On met d'abord en place la politique de securite du programme, elle est defini dans le fichier "server.policy"
ClassLoader myClassLoader = Thread.currentThread().getContextClassLoader();
URL file = myClassLoader.getResource("server/Server.policy");
System.setProperty("java.security.policy",file.toString());
if(System.getSecurityManager() == null){
System.setSecurityManager(new SecurityManager());
}
//prise en compte des arguments
int portConnexion = 18500;
String nomFichierTrace="trace.txt";
System.out.println("*** Attention, ce programme utilisera deux ports pour fonctionner: "+portConnexion+" pour le rmiregistry et "+portConnexion+1);
System.out.println("*** fichier trace utilise: "+nomFichierTrace)
try{
//Creation du registre sur le port specifie
LocateRegistry.createRegistry(portConnexion);
Registry registry = LocateRegistry.getRegistry(
"Adresse IP de la machine sur laquel va tourner ce serveur ",portConnexion);
ControleurServerInt controleurServerStub;
ControleurServer controleurServer = new ControleurServer(nomFichierTrace);
//Exportation du controleur avec ecoute sur le port n+1
controleurServerStub = (ControleurServerInt)UnicastRemoteObject.exportObject(controleurServer,portConnexion+1);
welcomeMessage(portConnexion);
//Liaison entre le registre RMI et l'objet exporte
//le server est maintenant en boucle infinie et attend les connexions clientes
registry.rebind("Controleur",controleurServerStub);
}
catch(Exception e){
System.out.println("Remote Exception dans server.Server, methode: main");
e.printStackTrace();
}
Partager