• Aucun résultat trouvé

PR6 – Programmation réseaux TP no 11 : Serialization

N/A
N/A
Protected

Academic year: 2022

Partager "PR6 – Programmation réseaux TP no 11 : Serialization"

Copied!
1
0
0

Texte intégral

(1)

L3 Informatique Année 2016-2017

PR6 – Programmation réseaux TP n

o

11 : Serialization

Le but de ce TP est d’explorer plusieurs solutions (plus ou moins bonnes) pour transférer des données complexes. Pour l’ensemble de cette séance, vous disposez de deux classes

– MyImagequi représente une image ;

– Filtre qui permet d’appliquer certains filtres sur une image donnée comme une instance de la classe MyImage.

Vous pouvez consulter la documentation de ces classes sur la page du cours.

La classe MyImagen’est pas complète, ce sera à vous de la compléter au fur et à mesure des exercices.

Dans chacun des trois exercices ci-dessous, il s’agit d’écrire un serveur qui reçoit une image sous une certaine forme, la transforme en niveaux de gris et la renvoie sous une forme similaire, et le client correspondant qui envoie au serveur l’image, la récupère modifiée par le serveur et la sauvegarde dans un fichier. Le codage de ces échanges varie selon l’exercice et il faudra en particulier réfléchir au protocole d’échange.

Pour tester vos programmes, récupérez une image quelconque sur internet au format jpeg.

Exercice 1 : Premier échange : fichier régulier

La classe MyImage implémentant l’interface Serializable, on peut en serializer ses ins- tances. En particulier, on peut utiliser un encodeurXML. UtilisezXMLEncoder/XMLDecoder pour transmettre un fichier texte entre votre client et votre serveur, en complétant les mé- thodes serializeXML etdeserializeXML de la classeMyImage. Attention :XMLEncoder est très lent (ça vous convaincra sûrement que c’est une assez mauvaise idée de l’utiliser).

Exercice 2 : Deuxième échange : fichier binaire

Dans cet exercice : le client envoie un fichier binaire au format jpegau serveur et celui-ci lui renvoie un fichier au même format.

Exercice 3 : Troisième échange : objet

Utilisez un ObjectInputStreamet unObjectOutputStreampour compléter les méthodes serializeOOSetdeserializeOOSde la classeMyImageet ainsi faire l’échange de données en serializant des instances de MyImage.

1

Références

Documents relatifs

Écrire un programme qui prend 3 arguments fic, alire, pivot sur la ligne de commande, vérifie que fic est composé uniquement de chiffres et si c’est le cas, stocke dans une chaîne

Ce message aura la forme suivante : adresse_ip port\n où adresse_ip est une chaînes de caractère représentant une adresse IP et port est une chaîne de caractères représentant

Pour cela le client demande la définition d’un mot au serveur et celui-ci lui renvoie le texte obtenu par l’appel à l’utilitaire dict (voir man dict sur son terminal).. Si dict

Pour cela, faire en sorte que le serveur détermine le nombre à choisir lorsque qu’un client se connecte et qu’il n’y a à ce moment là pas de client connecté.. Tout client qui

L’idée est la suivante : un client producteur envoie au serveur une chaîne de caractères qu’il aura reçu par l’entrée standard (le clavier), le serveur stocke alors cette

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

Le client peut alors faire jusqu’à 20 tentatives pour deviner n en envoyant des requêtes de la forme "k\n" au serveur, où k est un entier compris entre 0 et 65535

Dans cet exercice, faîtes un client qui se connecte au service echo de la machine lampe de l’ufr et qui en boucle lui envoie un message et affiche la réponse du service (par exemple