Travaux sur Machine de aci
1. Le Post Office Protocol coté client

Cette séance étudie un client POP capable de se connecter au serveur vu en travaux dirigés, et n’importe quel serveur POP en général. Les éventuelles pièces jointes seront transférées aveuglément comme partie intégrante du corps du message.

Ce client sera un programme C prenant en argument (donc sur la ligne de commande) l’adresse Internet d’un serveur POP et de son port. Il se connecte alors à ce serveur et rentre dans une boucle de lecture des lignes du flux d’entrée, supposées être chacune une requête POP qu’il envoie au serveur avant de lire la suivante. Il s’arrête lorsque l’entrée est QUIT. Lorsque la requête est RETR, il crée un fichier dont le nom est le numéro du message. Comme pour le serveur, on utilisera le makefile pour compiler séparément chaque fonction à écrire avant de les intégrer au canevas lors de l’édition de lien.


Makefile
client.c
peroraison.c
peroraison.h


1 Connexion au serveur POP

Ecrire la fonction q1 qui demande la connexion au serveur donné en argument, et retourne la socket servant à la connexion.


Obtenir un formulaire de soumission de comptes rendus

2 La requête LIST côté client

Ecrire la fonction CPopList qui renvoie sur le flux de sortie le résultat d’une requête LIST, dont on rappelle qu’il se termine par une ligne réduite à un point.


Obtenir un formulaire de soumission de comptes rendus

3 La requête RETR côté client

Le serveur répond à une requête RETR i par la suite des en-têtes du message i puis son corps, puis une ligne réduite à un point. Dans l’hypothèse où l’en-tête Content-Type : n’apparaît pas, on convient de placer l’intégralité de la réponse dans un fichier nommé i du répertoire BafouiLles.

Ecrire la fonction CPopRETR qui implémente cette fonctionnalité. On n’oubliera pas d’éliminer le point en début de ligne destiné à lever l’ambiguïté du marqueur de fin de message.


Obtenir un formulaire de soumission de comptes rendus

logo-spip E. Saint-James & F. Kordon - Master Informatique - UPMC Valid XHTML 1.0!
Calculé le 21 janvier 2021 à 19h29min