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 EE Discussion :

Broadcast en Java


Sujet :

Java EE

  1. #1
    Membre régulier
    Homme Profil pro
    http://tuatini-godard.me/
    Inscrit en
    Décembre 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : http://tuatini-godard.me/

    Informations forums :
    Inscription : Décembre 2010
    Messages : 70
    Points : 93
    Points
    93
    Par défaut Broadcast en Java
    Bonjour,
    Voilà ma question est simple. Comment puis-je réaliser un broadcast en java? Je souhaiterais obtenir l'adresse ip de toutes les machines d'un réseau local (wifi), autrement dit de toutes les ip en 192.168.0.x . Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 117
    Points : 219
    Points
    219
    Par défaut
    Bonjour,
    Cela dépend de ce que tu entend par broadcast, si j'ai bien compris tu veut juste vérifier si les machines existent, dans ce cas c'est un ping que tu veut, java a une méthode qui permet de faire ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    InetAddress inet = InetAddress.getByName(String host);
    inet.isReachable(int timeout);
    Donc pour toi cela donnerais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List<String> listAlive = new LinkedList<String>();
    for (int i=1; i<254; i++) {
    InetAddress inet = InetAddress.getByName("192.168.0."+i);
    if (inet.isReachable(int timeout) {
    listAlive.add("192.168.0."+i);
    }
    }
    Si en revanche tu a un service qui tourne sur toutes tes machines et que tu veut leur envoyer un message a tous simultanément, il faut passer par UDP

    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
     
    		try {
    			String data = "madata";
    			DatagramSocket socket = new DatagramSocket();
    			socket.setBroadcast(true);
    			InetAddress broadcastAddress = getBroadcastAddress(m);
    			DatagramPacket packet = new DatagramPacket(data.getBytes(),
    					data.getBytes().length, broadcastAddress, 45556);
    			socket.send(packet);
     
    			// On attend la reponse du serv
    			byte[] buf = new byte[256];
    			packet = new DatagramPacket(buf, buf.length);
    			socket.receive(packet);
    			String received = new String(packet.getData(), 0,
    					packet.getLength());
    		} catch (SocketException e) {
    			e.printStackTrace();
    			return false;
    		} catch (UnknownHostException e) {
    			e.printStackTrace();
    			return false;
    		} catch (IOException e) {
    			e.printStackTrace();
    			return false;
    		}

  3. #3
    Membre régulier
    Homme Profil pro
    http://tuatini-godard.me/
    Inscrit en
    Décembre 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : http://tuatini-godard.me/

    Informations forums :
    Inscription : Décembre 2010
    Messages : 70
    Points : 93
    Points
    93
    Par défaut
    Merci énormément

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Algorithme Broadcast par Vague en Java
    Par ouafae2011 dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 08/10/2012, 22h54
  2. Broadcast Red5 Java/Action Script
    Par Topheur dans le forum Intégration
    Réponses: 0
    Dernier message: 05/03/2008, 08h53
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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