• Aucun résultat trouvé

PR6 – Programmation réseaux TP no 9 : Le protocole UDP I) Un récepteur UDP

N/A
N/A
Protected

Academic year: 2022

Partager "PR6 – Programmation réseaux TP no 9 : Le protocole UDP I) Un récepteur UDP"

Copied!
2
0
0

Texte intégral

(1)

L3 Informatique Année 2014-2015

PR6 – Programmation réseaux TP n

o

9 : Le protocole UDP

I) Un récepteur UDP

Exercice 1 :

Écrivez en Java un programme qui reçoit sur un port des datagrammes UDP et qui en affiche le contenu précédé de l’adresse de la socket émettrice, c’est-à-dire l’adresse IP de la machine et le numéro du port. Par exemple :

127.0.0.1:56472 Bonjour!

127.0.0.1:64659 Salut!

...

Supposer que la taille du message contenu dans les datagrammes ne dépasse pas 1024 caractères.

Exercice 2 :

Écrivez le même programme en C.

Exercice 3 :

Modifiez vos programmes de façon à ce que, plutôt qu’afficher le contenu des datagrammes, ils les renvoient à l’expéditeur, avec le même format que précédemment.

II) Un client UDP

On se propose d’écrire un client pour le serveur précédent.

Exercice 4 :

Dans un premier temps, le client doit lire un message sur l’entrée standard, l’envoyer au serveur sous forme d’un paquet UDP et attendre ensuite l’écho du message de la part du serveur. Pour cela, a-t-on besoin de lier la socket UDP d’un tel client ?

A la réception du message du serveur, le client l’affiche et son travail est fini. Doit-il se déconnecter ?

Écrivez ce client en C et en Java.

Exercice 5 : bonus

Maintenant, écrivez, en C ou en Java au choix, un client un peu plus sophistiqué qui se comporte de la manière suivante :

– il lit les messages sur l’entrée standard et les envoie sous forme de datagrammes UDP au serveur, et

– en même temps, il lit les messages qu’il reçoit du serveur et les affiche sur la sortie standard.

1

(2)

L3 Informatique Année 2014-2015

III) Un serveur UDP de messagerie textuelle

Exercice 6 : bonus

Modifiez un de vos récepteurs UDP de façon à ce que :

– il garde une liste des adresses de toutes les sockets de la part desquelles il a reçu des datagrammes (mais chaque adresse seulement une fois), et

– à la réception de chaque message, il le réexpédie, précédé de l’adresse de la socket émettrice comme avant, à toutes les adresses dans cette liste.

2

Références

Documents relatifs

UDP, lui, utilise le protocole IP pour acheminer un message d’un ordinateur à un autre, sans aucune valeur ajoutée (pas de connexion, pas de contrôle d’erreur, de contrôle de flux

Le protocole est élémentaire, le client se contente d’envoyer un mot au serveur qui lui renvoit la réponse sous la forme d’un texte constitué d’un nombre quelconque de lignes

Écrivez en Java un programme qui reçoit sur un port des datagrammes UDP et qui en affiche le contenu précédé de l’adresse de la socket émettrice, c’est-à-dire l’adresse IP de

– à la réception de chaque message, il le réexpédie, précédé de l’adresse de la socket émettrice comme avant, à toutes les adresses dans cette

– Receive Timestamp (le t r de la figure 1) est le temps auquel a été reçue la requête correspondant à une réponse ; il vaudra 0 dans les requêtes que nous transmettrons ;

Le message envoyé à nc contient une ligne de la forme "GET [page] HTTP/[version]" où [page] est la page demandée par la requête et [version] la version de HTTP utilisée

const struct sockaddr *dest_addr, //infos destinataire socklen_t dest_len); //taille de la struct sockaddr. PR -

Pour une liaison qui prend en charge la détection d'erreurs partielles, le champ Couverture de somme de contrôle dans l'en-tête UDP-Lite PEUT être utilisé comme indication de si