mush74
Messages postés12Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention 8 mars 2008
-
7 mars 2008 à 12:46
mush74
Messages postés12Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention 8 mars 2008
-
8 mars 2008 à 11:55
Bonjour,
J'ai besoin d'aide afin de choisir une méthode simple de communication inter-processus.
Voila le contexte :
- un processus gère les communications avec une antenne GPS afin de recevoir des données de position, altitude et vitesses.
- un processus gère l'affichage graphique en OpenGL.
Ces deux processus sont indépendants et doivent le rester (je ne peux pas les regrouper en un seul). Ils doivent communiquer entre eux, sachant que seule la derniere donnée envoyée par le processus de com GPS m'interresse (les anciennes étant obsolètes).
J'ai bien fait des recherches sur les Pipes, sockets et "messages" mais j'ai du mal a voir le plus approprié. Je suis sous linux/GCC. Il me semble que les pipes soient interressantes, mais je n'ai pas de processus père et enfant, mais deux processus indépendants. Comment les faire pointer sur une seule et même pipe ? Est-ce d'ailleurs possible ? Connaissez vous un bon tutoriel ?
mush74
Messages postés12Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention 8 mars 2008 8 mars 2008 à 11:55
Finallement, je me suis tourné sur la solution mkfifo qui correspond tout a fait a ce que je cherche. Je lance le processus GPS qui se bloque jusqu'a ce que le processus d'affichage ouvre le FIFO en read. Ensuite, ça roule tout seul, mes données sont transmises.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 7 mars 2008 à 13:10
Salut
Je ne me souviens plus pour les pipes si c'est possible de faire communiquer deux process sans fork. (Je ne pense pas mais c'est a confirmer)
Mais a ta place, j'utiliserai les files de message. Tu as la synchronisation des deux process imediatement: Tu peux faire attendre ton process pour l'affichage tant qu'il n'y a pas de message dans la file. Et des que ton process GPS place une nouvelle position dans la file, cela debloque le process affichage.