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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !