Multicast Java 1
A. Obaid © - Programmation des réseaux
Le multicast en Java
Multicast Java 2
A. Obaid © - Programmation des réseaux
 Pour envoyer à (ou recevoir de) un groupe de
multicast, il est tout nécessaire de s'inscrire
dans le groupe:
– Un message Internet Group Management Protocol
(IGMP) envoyé au routeur le plus proche
– Un datagramme est créé, adressée au groupe (et
le port choisi)
 Java possède une socket spécialisée pour la
multicast:
– java.net.MulticastSocket
Multicast en Java
Multicast Java 3
A. Obaid © - Programmation des réseaux
 Sous classe de java.net.DatagramSocket avec les
méthodes :
– void joinGroup(InetAddress groupeMC)
 Rejoindre un groupe pour l’envoi des datagrammes
– void leaveGroup(InetAddress groupeMC)
 Quitter un groupe.
– void setTimeToLive(int ttl)
 Préciser le TTL
– int getTimeToLive()
 Obtenir la valeur du TTL
java.net.MulticastSocket
Multicast Java 4
A. Obaid © - Programmation des réseaux
Les étapes à suivre:
– Créer le socket multicast.
– Rejoindre le groupe multicast
– Créer un packet DatagramPacket.
– Envoyer le paquet à travers la socket.
– Quitter le groupe à la sortie.
Envoi multicast
Multicast Java 5
A. Obaid © - Programmation des réseaux
Envoi - Exemple
InetAddress groupeMC = InetAddress.getByName(adresseGroupeMC);
MulticastSocket s= new MulticastSocket();
s.joinGroup(groupeMC);
s.setTimeToLive(5);
byte[] data = “Ceci est le message envoye”.getBytes();
DatagramPacket datagram = new DatagramPacket(data, data.length);
datagram.setAddress(groupeMC);
datagram.setPort(9876);
s.send(datagram);
s.leaveGroup(groupeMC);
Multicast Java 6
A. Obaid © - Programmation des réseaux
 Les étapes à suivre:
– Créer une socket de multicast sur un port précis.
– Rejoindre le groupe de multicast (au démarrage).
– Créer un datagramme vide.
– Attendre l’arrivée de datagramme.
– Quitte le groupe de multicast (à la sortie).
Reception multicast
Multicast Java 7
A. Obaid © - Programmation des réseaux
Réception - Exemple
InetAddress groupeMC = InetAddress.getByName(adresseGroupeMC);
MulticastSocket s = new MulticastSocket(9876);
s.joinGroup(groupeMC);
byte[] data = new byte[1000];
DatagramPacket paquet = new DatagramPacket(data, data.length);
s.receive(paquet );
String message = new String(paquet.getData(), 0, paquet .getLength());
s.leaveGroup(groupeMC);
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!