Bonjour a tous!


Je suis confronter a une chose que je ne connais pas du tout, et je me perds dans mes recherches! Je vous explique ce que je cherche a faire.

Avant tout, je précise (au cas ou) que je travail sur du ubuntu.


D'un cote, j'ai un "brain" en C++ qui fait des traitements de trames issu de matos domotiques, et qui stock des infos dans une bdd SQLite. Jusque la, pas de soucis.

De l'autre cote, j'ai une IHM (un site en local avec lighttpd) qui utilise des CGI C++ pour accéder a la bdd SQLite du brain. Encore la pas de soucis.

Le problème vient quand j'essaye de passer directement des informations issu du CGI vers le brain, comme une commande a lui faire exécuter. Il faut que ca ce fasse le plus rapidement possible (sinon utilisateur pas content).


Le brain fonctionne sur le mod while (1), alors que le CGI est lance uniquement quand l'utilisateur décide de lancer une commande a travers le site. Cette commande prend la forme d'une chaine de caractère a faire passer entre les deux.


Comment est ce que je peux faire pour faire communiquer le brain et le CGI?


En faisant des recherches, j'ai trouver des choses a propos des pipes, des sémaphores, ou encore de la mémoire partagée, mais je ne suis pas sur que ca marche dans mon cas.

Et une fois le choix fait, comment faire techniquement? Creer un thread/processus dans mon brain qui serait dédié uniquement a la reconnaissance de messages envoyés par le CGI?



Need un bon gros coup de main sur le coup!