Quel est le meilleur IPC(Inter Processus Communications) sous windows ?

Résolu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 8 févr. 2012 à 11:56
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 9 févr. 2012 à 13:48
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...)

merci


 
A voir également:

19 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 févr. 2012 à 14:58
J'aime bien communiquer par messages...

l'echange de donnée plus conséquent peut se faire par un systeme de mémoire partagée (OpenFileMapping & co), synchronisé par messages...


exemple ici
http://www.vbfrance.com/codes/PARTAGE-VARIABLES_39615.aspx

facilement transposable en C, puisque basé sur des APIs

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
Rejoignez-nous