IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Envoyer un message sur tout le réseau local


Sujet :

Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Points : 3
    Points
    3
    Par défaut 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

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

  2. #2
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut
    Salut,

    Personnellement j'aurai creusé du coté des commandes CMD pour récupérer ces valeurs :
    https://stackoverflow.com/questions/...-local-network
    https://www.comparitech.com/net-admi...local-network/
    Puis exécuter la commande en JAVA et récupérer le flux :
    https://www.netjstech.com/2016/10/ru...from-java.html
    Je ne suis pas sûr que ce soit moins groumant que ta solution mais c'est peut-être une piste à creuser.

Discussions similaires

  1. Comment envoyer un message a tout un réseau?
    Par ceroxono dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 29/05/2009, 17h03
  2. Tracer ses connections sur un ptit réseau local
    Par fabgamer dans le forum Hardware
    Réponses: 3
    Dernier message: 15/02/2007, 08h32
  3. Envoyer un message a toutes instances d'une class
    Par toure32 dans le forum Delphi
    Réponses: 2
    Dernier message: 18/11/2006, 20h06
  4. [PHP-JS] PHP Envoyer un message sur des news-groupe
    Par FoxLeRenard dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2006, 01h45
  5. [Réseau] Cibler la commande « Ping » sur tout le réseau
    Par Furius dans le forum Développement
    Réponses: 4
    Dernier message: 08/09/2006, 20h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo