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

C++ Discussion :

Posix Message Queue vs Win32 Named Pipe


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    65
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par d�faut Posix Message Queue vs Win32 Named Pipe
    Bonjour,

    Je cherche � d�velopper sous Windows un syst�me d'IPC �quivalent aux POSIX messages queues (afin que mon code soit portable facilement vers VxWorks). En fouillant un peu, je suis tomb� sur MSMQ, qui permet d'impl�menter des messages queues sous Windows. Par contre, l'API diff�re compl�tement, et est relativement complexe. Je me demande donc si je ne ferais pas mieux d'impl�menter des Named Pipe sous Windows, bien que la notion de "connect" et de stream byte au lieu de records me d�range un peu.

    Quelqu'un a-t'il d�j� port� une message queue Posix sous Windows ?

    Cordialement,

    Julien.

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    65
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par d�faut
    Au passage, j'ai une question suppl�mentaire:

    J'ai un objet d�fini comme ci-dessous:

    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
     
    class DO
    {
      public:
        /*...*/
      private:
        char *Name;
        char *Ref;
        int Type;
        std::vector<DO *>SDOObjects;
        std::vector<DAObject> DAObjects;
        int Subs[16];
        bool IsConfigured;
    };
    }
    Si je souhaite transmettre cet objet par message queue, dois-je proc�der � une s�rialisation au pr�alable ? Il me semble que les messages queues sont utilis�es pour transmettre des objets et non des bytes stream. Mais est-ce valable pour un objet aussi complexe ? Les vectors et les pointeurs risquent de poser probl�me je suppose.

    Cordialement,

    Julien.

  3. #3
    Membre chevronn�
    Inscrit en
    D�cembre 2010
    Messages
    290
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2010
    Messages : 290
    Par d�faut
    Oui evidemment tu dois s�rialiser ton objet avant de l'envoyer dans un pipe.
    Et comme tu dis, tout ce qui est pointeur, vecteurs va te poser un probl�me.

    Sous Windows, les Named Pipes peuvent �tre configur�s en mode message plut�t que stream. Voir la doc de CreateNamedPipe, le param�tre dwPipeMode peut sp�cifier PIPE_TYPE_MESSAGE.

Discussions similaires

  1. R�ponses: 9
    Dernier message: 15/12/2007, 13h25
  2. Message Queue loop et ex�cutable console
    Par mchk0123 dans le forum Windows
    R�ponses: 8
    Dernier message: 18/05/2007, 17h25
  3. Portage de la message queue POSIX sous WINCE
    Par tonio35 dans le forum Windows
    R�ponses: 2
    Dernier message: 14/02/2007, 14h51
  4. Les messages queues et l'embarqu�
    Par fveysseire dans le forum C
    R�ponses: 2
    Dernier message: 29/05/2006, 13h43
  5. Message Souris r�cente Win32
    Par black is beautiful dans le forum Windows
    R�ponses: 3
    Dernier message: 11/01/2006, 22h51

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