|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 87 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : décembre 2010 Messages : 99 ![]() |
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.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 87 ![]() |
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 |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 87 ![]() |
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é? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com