C++: Gestionnaire de documents répartis

Nous avons vu comment gérer l'ouverture de documents de types différents. Dans cette première version, on ne se pose pas la question du lieu de stockage du document et on considère qu'il est implicitement en locale, sur le disque.

 
Maintenant, on désire ajouter une couche suplémentaire pour l'ouverture des documents en s'abstrayant de leur localisation. Ainsi, on doit gérer leur possibilité d'être en local mais dans des répertoires différents ou sur le réseau.

Architecture client-serveur

Avant de vous lancer, il est demandé de concevoir sur papier l'architecture logicielle générale et de déterminer les classes nécessaires ainsi que leurs responsabilités.
 
Pour la mise en oeuvre, vous ne pouvez pas utiliser de serveur existant comme par exemple le ftp. Vous devez donc programmer votre propre serveur de fichier en le pensant comme un objet.
 
Pour la gestion des sockets sous Linux, vous pouvez vous inspirer de ce code. Il met en oeuvre un serveur qui renvoie un echo de la chaîne reçue du client.