Sorbonne Université Master 2017 2018
PR : Travaux sur Machine 8. Simulation d’un service FTP

On se propose dans cette séance d’écrire un serveur et un client simulant un service FTP minimal, réduit à 3 opérations :

On utilisera bien sûr opendir et readdir pour parcourir le répertoire concerné.



1 Un mini-serveur FTP

Dans cette question il s’agit d’écrire le serveur, qui reçoit en ligne de commande le numéro de port où l’appeler, et le répertoire où entreposer les fichiers envoyés par les clients. Les connexions se feront en TCP. On considère qu’un serveur ne peut traiter qu’un client à la fois.

Exemple d'appel :
$PWD/bin/ftp_server 2000 /tmp &
Fichier à créer : src/ftp_server.c

2 Un mini-client FTP

Le client prend sur la ligne de commande l’adresse IP du serveur et son numéro de port. Il s’y connecte immédiatement, et en cas de réussite rentre dans une boucle de lecture ligne par ligne des requêtes de l’utilisateur au clavier. Pour chaque ligne, il vérifie que la requête demandée est bien l’une des trois indiquée dans l’énoncé, si oui l’envoie au serveur, attend sa réponse et l’affiche dans le flux de sortie.

Exemple d'appel :
$PWD/bin/ftp_client 127.0.0.1 2000
Fichier à créer : src/ftp_client.c

3 Annexes


makefile