:: Enseignements :: Master :: M1 :: 2011-2012 :: Programmation d'Applications Réseaux ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) |
Serveur UDP, pseudo-connection, diffusion multicast
|
Exercice 1 - Longue Somme de Long
On souhaite mettre en place un service de somme permettant à un client de demander le résultat de la somme de plusieurs nombres (long sur 64 bits).
Le client doit envoyer chaque opérande un par un en binaire dans la convention "network order" (i.e. big endian -- l'octet de poids fort est enregistré à l'adresse mémoire la plus petite, ou autrement dit à l'indice le plus petit d'un tableau d'octets). Le résultat est renvoyé par le serveur à réception d'un opérande nul (i.e. 0) du client, ce qui signifie également que le serveur remet à zéro la somme courante.
- Implanter les méthodes de conversions longToByteArray et byteArrayToLong permettant les conversions entre long et tableau de byte en Big Endian. Attention, les entiers sont signés en Java.
- Implanter un serveur mono-client qui rend le service de somme à un seul client à la fois (également à implanter). Vous vérifierez que les paquets reçus appartiennent bien au client auquel on rend actuellement le service.
- Qu'apporterait l'utilisation d'une pseudo-connexion ? Mettre en place la solution correspondante.
- On souhaite pouvoir modifier le serveur pour le rendre multi-client, autrement dit, il doit pouvoir maintenir le service de somme simultanément pour plusieurs clients. Proposez une implémentation de ce serveur en UDP pour gérer plusieurs clients simultanément.
Exercice 2 - Forum de discussion Multicast
En utilisant une socket de multicast UDP, écrire une petite application qui envoie sur un port donné d'un groupe de multicast, correspondant à une adresse IP donnée, tout ce qui est écrit sur la ligne de commande. L'application affichera sur la ligne de commande tout ce qui est reçu (avec l'IP de l'emetteur) sur ce groupe de multicast à destination de ce port (Il vous faut donc 2 threads).
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 à choisir une
adresse et un
port libres
© Université de Marne-la-Vallée