Bonjour à tous,
On vient de me donner le code d'un serveur en C pour que je le modifie. Dans l'état actuel des choses, le client se connecte au serveur pour lui envoyer un login et une ip. Pour chaque connexion, le serveur fait un fork pour traiter les données. Le but est maintenant de stocker ce couple (ip,login) dans une table de hachage. J'ai déjà codé les fonctions pour la table de hachage mais il me reste un gros problème à résoudre.
Il y a longtemps que j'avais pas fait de programmation système et donc, dans un élan d'enthousiasme, j'ai rajouté les fonctions ajout_hash dans le traitement... sauf que ma table de hachage est dupliquée pour chaque processus traitant les demandes
La seule solution que je vois là serait de faire communiquer les processus qui traitent les connexions avec le processus père. Ainsi, seul le processus père connait l'état de la table de hachage et peut ajouter ou supprimer les données...
Maintenant, il y a peut être d'autres solutions, comme par exemple un second serveur qui se contente de communiquer avec les processus qui traite les connexions pour garder la table de hachage à jour... sachant qu'il faut aussi qu'on puisse accèder au données de la table.
J'ai pensé aux tubes, aux mécanismes IPC mais je ne suis pas vraiment expert dans ce domaine...
Merci pour vos conseils!
Partager