:: Enseignements :: Master :: M1 :: 2010-2011 :: 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 à
reception d'un opérande nul (i.e. 0) du client, ce qui signifie également
que le serveur remet à zéro la somme courante.
- Implémenter les méthodes de conversions longToByteArray
et byteArrayToLong permettant les conversions entre
long et tableau de byte en Big Endian.
- Implémenter un serveur mono-client qui rend le service de
somme à un seul client à la fois (également à implémenter).
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