Bonjour,

Dans le cadre de ma reconversion pro, je dois faire un exercice en java (soit avec les sockets soit RPC), je me sens plus à l'aise avec les sockets donc j'utilise cette techno

- Le client envoi un message sur TOUT le réseau local
- Le serveur écoute sur le réseau et affiche dans la console les messages du réseau

Je dois donc récupérer l'adresse réseau et de broadcast :

Avec InetAddress getLocalHost() je récupère l'adresse ip de la machine, par contre il me faut le masque de sous réseau que je n'arrive pas à récupérer afin de calculer mon adresse réseau et mon adresse de broadcast !

Comment puis-je récupérer le masque réseau ??

Ensuite quand j'aurai récupéré le masque et calculé l'adresse réseau et broadcast (prenons comme exemple 192.168.1.0 et 192.168.1.255) :

Actuellement je le fais en Unicast donc client -> serveur directement en faisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 socket = new Socket("192.168.1.19", port);
Du coup j'ai essayé de remplacer l'ip par le broadcast (c'était tentant )

Du coup je pense utiliser une boucle du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 for( int i=1; i<254; i++ ) { 
socket = new Socket("192.168.1.i", port); }
Ou y'a t'il un moyen de savoir combien de machine il y a sur mon réseau local et de créer des sockets uniquement pour ces machines ?




Merci pour votre aide !