Sorbonne Université Master 2017 2018
PR : Travaux Dirigés 9. Socket et parallélisme

Cette nouvelle séance consacrée à l’outil socket s’intéresse à son utilisation dans un contexte où plus d’un client se connectent à un même serveur.



1 Service FTP en parallèle

Modifier le serveur réalisé lors de la séance Simulation d’un service FTP afin de gérer plusieurs clients en parallèle. On pourra les traiter soit par des processus fils, soit par des processus légers.

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

2 Journalisation de connexions

Ecrire un programme serveur, sans sous-processus ni Thread, qui prend sur la ligne de commande un nombre arbitraire de numéro de ports, et attend en parallèle un client sur chacun de ces ports. On utilisera bien sûr la fonction select. Il enregistre dans le fichier cx.log les adresses des clients successifs.

Le code du processus client vous est fourni en annexe. Il prend sur sa ligne de commande l’adresse du serveur et un numéro de port où il écoute.

Exemple d'appel :
$PWD/bin/journal_serveur 2820 2821 2822 2823 &
Fichier à créer : src/journal_serveur.c

3 Annexes


makefile

journal_client.c
Format de l'envoi : src/ftp_multi_serveur.c
Répertoires autorisés : src/journal_serveur.c