• Aucun résultat trouvé

PR6 – Programmation réseaux TP no 8 : Un émetteur QOTD

N/A
N/A
Protected

Academic year: 2022

Partager "PR6 – Programmation réseaux TP no 8 : Un émetteur QOTD"

Copied!
1
0
0

Texte intégral

(1)

L3 Informatique Année 2020-2021

PR6 – Programmation réseaux TP n

o

8 : Un émetteur QOTD

À l’époque des ordinateurs partagés, il était habituel qu’une citation amusante, le quote of the day (QOTD) apparaisse lors du login. Avec l’arrivée de l’Internet, on a développé le protocole QOTD, qui permet à la base de données de citations de résider sur un serveur central — lors du login, un client QOTD consule un serveur central qui lui sert une citation à afficher.

Le protocole QOTD, défini par la RFC 865, est extrêmement simple. Le client envoie un data- gramme UDP vide au port 17 du serveur. Le serveur répond par un datagramme UDP contenant une chaîne de caractères ne dépassant pas 512 octets.

1. Écrivez un serveur UDP en language C qui écoute sur le port 1717. Lorsqu’il reçoit un datagramme, quel que soit sont contenu, il répond par un datagramme contenant votre chaîne de caractères préférée. Pour répondre il suffit qu’il utilise les caractéristiques du client qui se trouvent dans le paquet envoyé par le client. En fait, ici vous ne connaissez jamais le port utilisé côté client mais vos programmes l’utilisent. Testez votre serveur avec la commande nc et l’option -u pour préciser qu’il s’agit d’UDP.

2. Écrire un client Java Cient.java tel que java Client n ip_adress envoie n fois un diagramme UDP vide au port 1717 du serveur d’adresse IPv4 ip_adress et après chaque envoi il attend un message UDP sur la socket utilisée pour l’envoi du paquet vide et affiche son contenu. Testez votre client Java avec votre serveur C.

3. Un fichier fortune contient une liste de citations séparées par des lignes contenant un signe pourcent « % ». Modifiez votre programme pour qu’il tire une citation au hasard dans un fichier au format fortune. Vous trouverez une collection de fortunes dans le répertoire /usr/share/games/fortunes de l’UFR.

4. Programmez le client précédent en C et le serveur précédent en Java.

1

Références

Documents relatifs

Ce TP reprend la suite du TP dans lequel l’utilisateur pouvait créer, détruire, afficher les instances d’une classe (la classe Ballon ). Ici, nous allons permettre en plus

Ce TP reprend la suite du TP dans lequel l’utilisateur pouvait créer, détruire, afficher les instances d’une classe (la classe Ballon ). Ici, nous allons permettre en plus

Sun détient une licence non exclusive de Xerox sur l’interface d’utilisation graphique Xerox, cette licence couvrant aussi les licenciés de Sun qui mettent en place

Vous devez tester deux méthodes permettant d'envoyer des informations à un programme Java : en utilisant les variables d'environnement de votre système d'exploitation ou en passant

Pour cela, on utilisera deux classes avec des m´ ethodes distantes, la classe Licencie et la classe Base.. D´ efinir une classe Licencie, ayant comme champs priv´ es un

– 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 ;

Écrire un serveur TCP implémentant le service echo (pour tout client se connectant, le serveur répète au client tout ce que celui-ci lui envoie).. Le serveur devra pouvoir traiter

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