Inter-process data exchange

cs_jojac Messages postés 17 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 4 décembre 2009 - 4 déc. 2009 à 10:48
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 4 déc. 2009 à 14:43
Bonjour a tous,

Je cherche a faire communiquer deux appli vb pour echanger des tables. La premiere appli est une sorte de supervision en temps réel et la seconde correspondrait plus a un service communiquant avec un automate en temps réel lui aussi, cette appli tournerai donc en continu tant que le pc est allumé.le tout etant en temps réel je souhaiterai les faire communiqué le plus rapidement possible, de ce fait j'ai proscit la methode par fichier temporaire pour ne pas avoir les temps d'acces.
Je suis nouveau dans ce type de programation et cherchant, sur le site et internet, j'ai trouver plusier methode,dde, vlinq, pipes et autre mais les explication ne sont pas claire et en plus la plupart sont en c et je m'y perd un peu.
De ce fait je sollicite de l'aide pour trrouver la methode la plus adaptée et ensuite de l'aide pour mettre en place tous ca.

Merci d'avance

10 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 déc. 2009 à 11:19
posté hier ^^
tu as du bol :P

c'est du vb6, mais portable en .Net (y'a un exemple de portage, d'ailleurs)

COMMUNICATION INTER PROCESS + PARTAGE MÉMOIRE[list]

/list


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_jojac Messages postés 17 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 4 décembre 2009
4 déc. 2009 à 11:31
Ok bonne reception je regarde tous ca et je tien au courant
0
cs_jojac Messages postés 17 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 4 décembre 2009
4 déc. 2009 à 12:30
Alors j'ai regarder tous ca et je n'arrive pas a le passer en .net j'ai pas mal d'erreur et ce malgres la maj que tu a laissé.
Cependant j'ai regarder ce a quoi cela consiste et je m'apercoi que c'est du file mapping donc ce que je comprend c'est que plusieur instance peuvent acceder a un mem fichier mais un fichier du HDD donc et pour des raisons de tps d'acces je me demander si il n'etait pas possible de passer uniquement par la ram.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 déc. 2009 à 12:39
non, pas un fichier du HDD... un truc virtuel, en mémoire (rapide, donc)
Windows s'occupe lui du mappage dans l'espace meméoire du process.

c'est le plus rapide que tu aies.

pour le portage, faut repenser certaines choses... comme l'injection assembleur assez mal venue en .Net ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 déc. 2009 à 12:40
pour le dialogue, un simple subclassing (j'ai fait en ASM dans ma source, mais bon)
et pour le "partage" de mémoire, un FileMapping, donc.

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_jojac Messages postés 17 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 4 décembre 2009
4 déc. 2009 à 13:13
Ok apparement tu sait de quoi tu parle et je ne contredit pas bien au contraire car pour ma part je suis completement larguer je n'arrive pas a faire marcher ton appli et du coup je n'arrive pas a conprendre commen ca fonctionne.En plus ya beaucoup de ligne de code que tu utilise dont je ne compren pas la signification alors je me demandait si il te serai pas possible de me fournir un projet en vbs2008 qui fonctionne si cela ne te demande pas tro de boulo...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 déc. 2009 à 13:44
je vais voir ce que je peux faire pour toi.

seul le partage t'interesse, ou également la partie dialogue ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_jojac Messages postés 17 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 4 décembre 2009
4 déc. 2009 à 13:55
Pour moi le seul interet est de recuperer les variable d'une appli vers l'autre mai ce uniquement dans un sens: appli 1 vers appli 2 et l'autre sens est inutile sinon je n'ai pas besoin de dialogue.par contre si je peu avoir un handle "variable changé" qui me declenche la relecture ds appli 2 pour actualiser mes table ce serai un petit plus vraiment sympa
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 déc. 2009 à 14:42
j'ai mis a jour mon code :

COMMUNICATION INTER PROCESS + PARTAGE MÉMOIRE

j'y ai inclus une version .Net certes allégée, mais plus simple a comprendre.
ici, on partage un bête flux texte (16Ko)
on a un evenement StreamChanged

pour le jeu du Dictionary fait en VB6, libre à vous de jouer a (dé)serialiser ce que vous voulez, comme vous le voulez ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 déc. 2009 à 14:43
codé en une heure :p un exploit pour moi qui ne code pas en .Net ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous