:: Enseignements :: ESIPE :: E4INFO :: 2013-2014 :: Applications réseaux ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) |
UDP non-bloquant, Multicast
|
Exercice 1 - Serveur Echo NIO
En partant du fichier
ServerEchoNIOTemplate.java, écrivez un serveur Echo
ServerEchoNIO qui prend en argument son port d'écoute. Si votre serveur écoute sur le port 7777, vous pouvez le tester avec
nc -u localhost 7777.
Exercice 2 - Serveur Echo multi-port NIO
En partant du fichier
ServerEchoNIOTemplate.java, écrivez un serveur Echo
ServerEchoNIOMultiPort qui prend en argument
une plage de ports. Si vous lancez votre serveur avec:
java upem.net.udp.ServerEchoNIOMultiPort 7000 7100
votre serveur se comportera comme un serveur Echo sur chacun des ports
de la plage 7000 .. 7100.
Vous pouvez tester votre serveur en lancant le client
ClienEchoMulti.jar comme suit:
java -jar ClientEchoMultiPort localhost 7000 7100
Le client envoie 1000 paquets sur la plage de ports entre 7000 et 7100.
Il vérifie que tous les paquets réponses sont bien reçus. Si tout se passe bien, vous devez voir:
Test passed!
Exercice 3 - Chat Multicast
Écrire une application qui envoie sur un port donné d'un groupe de multicast
correspondant à une adresse IP donnée, tout ce qui est écrit sur
l'entrée standard. L'application affichera sur la sortie standard
tout ce qui est reçu sur ce groupe de multicast à destination de ce
port (il vous faut donc 2 threads). On considérera que les messages
textuels sont transmis en UTF-8 et que leur représentation ne peut dépasser 512
octets.
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.
Si vous êtes sur votre portable, il faut utiliser loopback (i.e.
lo0)
et vous ne pourrez parler qu'aux clients lancés sur votre machine.
En utilisant tous ce même numéro de port et la même adresse IP, vous
pouvez obtenir une version basique d'un forum de discussion.
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.
Par exemple, pour éviter des interférences entre les groupes,
choisissez 239.252.0.x:7777 où x est le numéro
de votre salle.
Lorsque plusieurs applications tournent sur la même machine,
comment savoir laquelle a envoyé un message? Mettez en œuvre
une solution qui réponde à cette question.
© Université de Marne-la-Vallée