Bonjour,

J’utilise la technologie RMI sur des PC distants. En réalité, pour le moment, j’ai un PC qui fait office de serveur et 6 autres PC qui font office de client.
Pour le moment, tout fonctionne bien puisque je ne fais qu’envoyer des 'demandes' dans le sens client -> serveur.
Un peu de code.
Mes clients :
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
 
 public void init() {
      // Mise en place du Security Manager 
      if (System.getSecurityManager() == null) {
           System.setSecurityManager(new SecurityManager());
      }
 
      try {
      // Récupération des propriétés du RMI
      remote = Naming.lookup("rmi://" +"192.168.1.100"+ "/InformationRMI");
      } catch (MalformedURLException e) {
          e.printStackTrace();
      } catch (RemoteException e) {
          e.printStackTrace();
      } catch (NotBoundException e) {
          e.printStackTrace();
      }
}
Mon serveur :
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
 
public void init() {
        try {
            // Mise en place du Security Manager 
            if (System.getSecurityManager() == null) {
                System.setSecurityManager(new SecurityManager());
            }
 
            // Permet de démarrer automatiquement le rmiregistry
            LocateRegistry.createRegistry(1099);
 
            Information informationImpl = new InformationImpl();
 
            String url = "rmi://" +"192.168.1.100"+ "/InformationRMI";
            // Enregistrement de l'objet avec l'url
            Naming.rebind(url, informationImpl);
 
        } catch (RemoteException e) {
            e.printStackTrace();
        } 
        catch (UnknownHostException e) {
            e.printStackTrace();
        }
        catch (MalformedURLException e) {
            e.printStackTrace();
       }
}
Maintenant, je voudrais pouvoir envoyer un message à mes PC client. Mais là, je coince.
Pour être plus clair, je souhaite afficher un texte sur les écrans des PC client. Une difficulté s’ajoute car je veux pouvoir envoyer un texte à un PC client bien précis et pas à tout les PC client à la fois.

Après quelques recherches sur le net, je pense devoir m’orienter vers la procédure ‘callback’ (bien que dans mon cas, je ne réponds pas à un appel d'un client), mais je ne vois pas comment faire.
- Comment récupérer les adresses IP de mes clients ;
- Comment faire au niveau du serveur pour renvoyer un texte (String) à un client --> car ma classe 'InformationImpl' implémentant l'interface Information n'est pas codée dans mon serveur);


Quelqu’un peut-il m’aider ?

Merci d’avance.