IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Intercommunication C# / C++ / Linux


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Par défaut Intercommunication C# / C++ / Linux
    Sur un système Linux (Debian 5), j'ai besoin de concevoir un plug-in en C++ qui puisse communiquer avec un autre programme en C# (Framework Mono bien sûr).

    L'utilisation de "Messages Queue" me semble être une bonne solution pour la communication interprocess.

    Pour le moment, j'en suis qu'au tout début, j'ai juste écrit quelques bouts de code en C++:
    - un pour envoyé un message
    - un pour revoir le message

    Ca marche, pas de soucis.

    Mais, malheureusement, je ne trouve pas l'équivalence en C# pour lire/écrire un message envoyé depuis le C++.

    Voici le bout de code C++ pour envoyer un message:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include <sys/types.h>
    #include <sys/ipc.h>
    #include <sys/msg.h>
    #include <string.h>
    #include <iostream>
     
     
    using namespace std;
     
    /* Defines */
    #define cle 17
     
    /* Global variables */
    int msqid;
    struct msgbuf_EXD
    {
       long mtype;
       char mtext[20];
    } msgp;
     
     
     
     
    int main(int argc, char **argv)
    {
    /* Create the message queue */
       msqid = msgget(cle, IPC_CREAT|IPC_EXCL|0660);
     
       /* Fill in the structure */
       msgp.mtype = 12;
       strcpy(msgp.mtext, "ceci est un message");
     
       /* Send the message */
       msgsnd(msqid, &msgp, strlen(msgp.mtext), 0);
       return 0;
     
    }

    Comment récupérer ce message en C# ?!

    J'ai trouvé ceci http://www.java2s.com/Tutorial/CShar...ssageQueue.htm mais cela ne semble rien à voir avec mon système de Message Queue...

    Est ce que quelqu'un à une idée?

  2. #2
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Bonjour, il faut que tu importes la fonction "msgget" dans ton code C# via le mot-clé extern.
    Voir aussi Mono - Interop with native libraries

  3. #3
    Membre confirmé Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Par défaut
    Je te remercie beaucoup!

    J'étais du coup parti sur des sockets UDP pour gérer la communication interprocess.

    Je vais voir ce que ca donne ton lien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débat : quelle distribution Linux choisir pour débuter ?
    Par Anonymous dans le forum Distributions
    Réponses: 227
    Dernier message: 18/02/2015, 11h09
  2. [Kylix] Re Re: débutant sur Kylix et Linux.....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/06/2002, 23h53
  3. [Kylix] Le débutant en Kylix et Linux....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 11h37
  4. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 18h45
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo