
package chat.interfaces;
public interface ClientInterface extends java.rmi.Remote {
void notifie(String nomUtilisateur, String phrase)
throws java.rmi.RemoteException;
}
Et pour le serveur :
package chat.interfaces;
public interface ServeurInterface extends java.rmi.Remote {
boolean ecrit(String nomUtilisateur, String phrase)
throws java.rmi.RemoteException;
}
Q2 La solution de l’exercice est t´el´echargeable `a l’URL: http://www.derepas.com/java/cours2_exercice_2.
jar.
La “ruse” de l’exercice est que le client de chat et le serveur de chat sont tous les deux des serveurs RMI :
•le serveur de chat car la m´ethode ecrit peut ˆetre appel´ee par n’importe quel client de chat (qui est alors un client RMI).
•le client de chat cat le m´ethode notifie peut ˆetre appel´ee par le serveur (qui est alors un client RMI).
Le serveur est impl´ement´e dans une seule classe : chat.serveur.ServeurImpl. Le client quant `a lui est impl´ement´e
dans deux classes situ´ees dans le package chat.client. Une classe, ClientImpl sert `a impl´ementer la partie serveur RMI
du client de chat, l’autre LireClavier sert `a impl´ementer l’envoie des message vers le serveur de chat.
Pour lancer le serveur, il faut apr`es avoir mis `a jour la cible init du fichier build.xml taper la liste de commandes
suivantes :
jar xvf cours2_exercice_2.jar # decompresse l’archive
cd cours2_exercice_2
ant # compile dans le repertoire build
cd build
rmiregistry & # lance rmiregistry dans le bon repertoire
cd ..
ant serveur # lance le serveur de chat
Pour lancer un client sur une autre machine, il faut apr`es avoir mis `a jour la cible init du fichier build.xml taper la liste de
commandes suivantes :
jar xvf cours2_exercice_2.jar # decompresse l’archive
cd cours2_exercice_2
ant # compile dans le repertoire build
cd build
rmiregistry & # lance rmiregistry dans le bon repertoire
cd ..
ant clientrmi & # lance la partie serveur RMI du client de chat
ant lecture # lance la partie client RMI du client de chat
Solution des exercices Java Avanc´
e - Cours 2 5/5