:: Enseignements :: Master :: M1 :: 2015-2016 :: Programmation d'applications réseaux ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) |
Multicast UDP
|
Exercice 1 - Chat Multicast
Le but du l'exercice est d'écrire une application de chat en utilisant
une adresse multicast commune à tous les clients.
Un client est lancé avec un pseudo, une adresse multicast (IP+port) et
une interface réseau.
$ java MulticastChat Charlie 239.252.0.100 7777 eth0
Si vous êtes sur votre portable, vous ne pourrez pas communiquer avec les autres clients.
Vous pouvez tester en local en lançant plusieurs clients.
$ java MulticastChat Alice 239.252.0.100 7777 lo0
$ java MulticastChat Bob 239.252.0.100 7777 lo0
Les paquets envoyés
et recus sur cette adresse contiendront un pseudo et un message.
Le format est le suivant:
- un INT donnant la taille du pseudo
- le pseudo encodé en UTF-8
- le message encodé en UTF-8
L'ensemble du paquet ne pourra pas dépaser la taille de 512 octets.
+--------------+------------------+--------------------------+
| taillePseudo | Pseudo UTF-8 | Message UTF-8 |
+--------------+------------------+--------------------------+
Attention: dans le cadre de l'utilisation du multicast
dans les salles de TP de l'université,
il ne faut pas
utiliser n'importe quelle adresse de multicast (certaines sont
utilisées pour des annonces ou du routage).
Vous pouvez regarder pour plus de détail l'URL
http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml#multicast-addresses-13.
Limitez vous à l'utilisation des adresses dans la plage
239.252.0.0 - 239.255.255.255. Par ailleurs, ne changez pas
le TTL qui doit être à 1 par défaut.
L'application affichera sur la sortie standard
tout ce qui est reçu sur ce groupe de multicast à destination de ce
port sous la forme "pseudo: message". Il vous faut donc 2 threads.
Le code ci-après vous montre comment configurer une
DatagramChannel
pour la réception mutlicast. Vous voyez que la configuration demande de
préciser l'interface réseau sur laquelle la communication aura lieu.
© Université de Marne-la-Vallée