Écriture d'un serveur de fichier

Envoi de fichier par le canal de connexion

Le serveur écoute le port 4021.  Après connexion le client envoie un nom de fichier.  Après réception de ce nom le serveur envoie le contenu du fichier au client en utilisant la connexion établie par le client.

Écrire un serveur parallèle conforme à cette description. Le serveur doit traiter l'ensemble des connexions en parallèle et ne jamais s'arrêter.

On pourra utiliser la redirection de sortie standard et le recouvrement de processus pour effectuer l'envoi du fichier. Pour cela, le serveur redirige sa sortie standard vers la socket de connexion, puis exécute la commande "cat FICHIER".

Utilisation d'un second canal pour la transmission du fichier

Mode passif semblable au fonctionnement d'un serveur FTP passif

Après réception du nom de fichier, le serveur créé un nouveau serveur écoutant le port 4020, auquel le client doit se connecter pour recevoir le fichier.

Variante

Après réception du nom de fichier, le serveur envoi un entier, 4020 par exemple, auquel le client doit se connecter pour recevoir le fichier.  Mêmes conditions de fonctionnement du serveur que dans le premier exercice.

Mode actif semblable au fonctionnement d'un serveur FTP en mode normal dit actif

Dans le mode actif c'est le serveur qui initie une nouvelle connexion avec le client pour transmettre le contenu du fichier. Après envoi du nom de fichier le client envoie un entier : le numéro de port sur lequel est attendu une connexion de la part du serveur et l'envoi du fichier.

Mêmes conditions de fonctionnement du serveur que dans le premier exercice.