Précédent   Forum des professionnels en informatique > C et C++ > C++
C++ Forum d'entraide technique sur le langage C++. Avant de poster -> F.A.Q C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2012, 13h24   #1
Invité de passage
 
Inscription : mars 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 87
Points : 3
Points : 3
Par défaut Meilleur IPC (InterProcessus Communication) pour 2appli sous Windows

Bonjour,

Dans le cadre d'échanges de données entre 2 processus écrit en C++, basé sur un seul PC sous Windows.
Ces échanges se font dans les 2 sens, et se font de manière périodique et récurrente. (échange d'une structure contenant des float[], et int[])

Je me demande quel est le meilleur moyen de communiquer (IPC): pour le moment j'ai listé ceci:
- Par fichiers(problème d'accès au fichier en même temps) : pas le top
- Par une base de données (Ok, mais j'imagine long et fastidieux)
- Mémoire partagée (je m'y connais moyen mais cela semble être un bon moyen, mais mise en place fastidieuse (synchronisation lecture/écriture)
- Boost (je ne connais pas encore)
- Sockets ( je connais bien et me demande si c'est le meilleur moyen dans mon cas)

j'aimerais avoir l'avis de gens expérimentés SVP
sur les avantages et inconvénients de chaque moyen. (vu les contraintes citées ci-dessus : 1 seul PC, windows, échange récurrent, structure de données fixe...)

EDIT: les échanges sont aussi Bidirectionnels (IMPORTANT)

merci
x2thez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 13h49   #2
Membre confirmé
 
Inscription : décembre 2010
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 99
Points : 203
Points : 203
A cette liste j'ajouterais les NamedPipes. Je sais que ça fait redondant avec les sockets, mais je ne sais pas à quel point ils sont similaires.
phi1981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 13h57   #3
Invité de passage
 
Inscription : mars 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 87
Points : 3
Points : 3
oui il existe d'autres moyens , merci de m'en faire part.
Toutefois j'aimerais avoir un retour d'utilisateurs afin de déterminer au mieux les avantages/inconvénients et de choisir celui qui serait le plus adapté.

merci
x2thez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 16h20   #4
Invité de passage
 
Inscription : mars 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 87
Points : 3
Points : 3
Utiliser la mémoire partagée me semble être assez complexe dans la gestion de la synchronisation ...
là j'hésite entre l'utilisation des sockets (ou pipes)
ou l'utilisation de WM_COPYDATA.

une idée? un conseil avisé?
x2thez est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h05.


 
 
 
 
Partenaires

Hébergement Web