Il s'agit d'un système client serveur tournant sous Linux (version 2.1 mini), respectant au mieux la norme Posix 1.
A chaque connexion d'un nouveau client le serveur principal lui crée un processus fils associé au client.
Le client peut enrichir et interroger l'environement du serveur.
Le serveur principal peut aussi enrichir et interroger le serveur d'environement.
Le serveur fils (COMx) envoie les nouvelles variables d'environement via un tube au serveur d'environement.
Tous les mécanismes de synchronisations sont mis en place:
Client - COMx (serveur fils)
Serveur fils - Serveur d'environement
Serveur principal - Serveur d'environement
Il s'agit d'un cas d'école regroupant un grand nombre cas tout aussi classique de communication des processus (pipe, signaux, ...)
Pour le lancement sur une même machine :
Pour le serveur principal:
./bin/serveurTCP 1234
Pour le serveur d'environement:
./bin/serveurEnv
Pour les clients :
./bin/clientTCP localhost 1234
ça peut etre paraitre bateau, mais j'ai tenté de modifier pour mettre en place un système pour limiter le nombre de clients connectés simultanément et j'ai pas réussi.
Une idée?
J'ai essayé d'envoyer un kill au client qui demande la connection (dans serveurTCP->connection) mais j'ai du foirer
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.