Sockets : les serveurs multi-services
Problème lié à la multiplication des serveurs : le nombre de processus nécessaires et les ressources consommées qui sont associées.
La consolidation de plusieurs services en un seul serveur améliore le fonctionnement:
La forme la plus rationnelle de serveur multi-services consiste à déclencher des programmes différents selon la requête entrante : le fonctionnement d’un tel serveur en mode connecté est le suivant:
- le serveur ouvre un socket par service offert,
- le serveur attend une connexion entrante sur l’ensemble des sockets ouverts,
- lorsqu’une connexion arrive, le serveur crée un processus secondaire (fork sous système UNIX), qui prend en compte la connexion,
- le processus secondaire exécute (via exec sous système UNIX) un programme dédié réalisant le service demandé.