Envoyer un message sur tout le réseau local
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 :D
- 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:
socket = new Socket("192.168.1.19", port);
Du coup j'ai essayé de remplacer l'ip par le broadcast (c'était tentant :mrgreen: )
Du coup je pense utiliser une boucle du style :
Code:
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 !