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 :
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 :
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 !
Partager