Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1394 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Communication entre 2 programmes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Communication entre 2 programmes

n°1059929
quickman
Posté le 25-04-2005 à 15:37:25  profilanswer
 

Bonjour,  
 
je suis en train de codé un ensemble de programme déstiné à être intégré dans un robot ( PC Embarqué sous Linux ) et j'ai préféré séparé la fonction global en plusieurs sous systèmes pour une plus grande facilité de débuggage et je l'espère une plus grande stabilité de l'ensemble ( je compte réaliser un petit prog qui surveille l'execution et relance le prog en cas de plantage :/ )
 
Seulement voila, il est venu le temps de faire 'communiquer' les programmes entre eux, il y a une sorte d'architecture client/serveur avec 2 programmes qui jouent le rôle de serveur, et 1 prog qui récupère tous ca.
 
J'ai déja lu quelques trucs sur les IPC & co mais ils s'agient le plus souvent de communication entre thread, avec des processus parents & fils. Mais dans mon cas ils s'agient de processus au lancement completement séparé, mais qui doivent se synchroniser.
 
Donc pour cela j'avais pensser faire comme cela, dites moi ce que vous en penssez :/
 
Le serveur ouvre un 'partage' IPC au démarrage et met la clef dans un fichier au nom constant.
Le client ouvre le fichier, recupère le clef, et ouvre  le partage avec cette clef, ensuite il lui suffit d'utiliser les données quand il en a besoin.
 
Les problèmes qui pourrait survenir sont tout d'abord des problèmes d'accès, je ne sais pas ce qu'il adviendrait si cela arrivé ( visiblement il existe pour cela les MUTEX mais je n'ai pas très bien compris, je pensse que je vais chercher un peu de doc la dessus ), et d'autre part, il n'y aurait pas plus simple? Je me suis dis intuitivement que pour communiquer entre eux les progs avez besoin d'un point fixe ( le fichier ), mais je ne sais pas si c'est exact et s'il n'y a pas d'alternative plus simple voir plus sure a mettre en oeuvre.
 
Qu'en penssez vous ( et désolé pour le pavé :'( )
 

Citation :

c/c d'un topic de OSA, qui a ptet plus ca place ici, a vous de me dire ...

mood
Publicité
Posté le 25-04-2005 à 15:37:25  profilanswer
 

n°1059986
mordicator
Posté le 25-04-2005 à 16:11:15  profilanswer
 

Vu que tu es sous linux, en version simple, tu peux tout simplement utiliser les signaux ou un pipe ou les 2...
Les signaux te permettent de gerer facilement des evenement de synchronisation et un pipe t'aidera a transferer des donnees.

n°1059999
quickman
Posté le 25-04-2005 à 16:23:44  profilanswer
 

mordicator a écrit :

Vu que tu es sous linux, en version simple, tu peux tout simplement utiliser les signaux ou un pipe ou les 2...
Les signaux te permettent de gerer facilement des evenement de synchronisation et un pipe t'aidera a transferer des donnees.


 
j'ai déja crée un petit programme qui utilise la mémoire partagé et qui marche pas mal, donc je pensse que je vais l'utilisé car je n'aime pas trop utilisé les signaux pour communiquer :/ Peut être est-ce injustifier.
 
Je vais retourner lire mon cours [:huit]  
 
PS: http://www.frederic-lang.fr.fm/ avec quelques cours sur les IPC & co [:naughty]


Message édité par quickman le 25-04-2005 à 16:28:17

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Communication entre 2 programmes

 

Sujets relatifs
Doc Flash Communication Server en Français ?communication entre deux clients derriere un routeur
Communication entre deux programmes sous LinuxCommunication entre 2 applications sous Linux ?
Récupéré la liste des programmes lancés ...Communication lente entre Word et VB
[C] Communication processus sous windows[Resolu][Brainstorming] Communication entre Programme C & Java
Communication réseau dans un application JSP 
Plus de sujets relatifs à : [C++] Communication entre 2 programmes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR