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 :

Tube en C++ (Windows)


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Par défaut Tube en C++ (Windows)
    Bonjour, j'ai deux application qui doivent s'échanger des données l'une tourne en C# et l'autre en C++ native.

    Mon choix c'est porté vers les pipes, qu'en pensez vous??

    Auriez vous un exemple de fonctionnement de pipe en C++ natif car je ne trouve rien sous Windows, pas mal d'exemple Linux (c'est d'ailleurs sous Linux que j'ai connu les pipes).

    J'ai le handle du pipe créé en C#, je voudrais donc écouter ce handle sur le programme c++.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    L'API Microsoft de gestion des pipes est ici : http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Par défaut
    merci pour la réponse, j'étais justement en train d'éplucher le MSDN mais je n'arrive pour le moment pas à recevoir les données envoyer par mon programme C++. J'arrive à faire un début de connexion, c'est déjà ca !!


    Tu ne m'as pas dis ce que tu pensais du fait d'utiliser les pipes. Bonne solution?? Moyenne?? Pas le choix ??

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par jmjmjm Voir le message
    Tu ne m'as pas dis ce que tu pensais du fait d'utiliser les pipes. Bonne solution?? Moyenne?? Pas le choix ??
    Je n'en pense rien, ni bon, ni mauvais. C'est un moyen de communication interprocess comme un autre. Naturellement, je serais parti vers un socket mais un pipe c'est bon aussi.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Comme le dit Ram, il y a plusieurs solutions pour faire communiquer différents processus. Toute une rubrique est présentée dans Interprocess Communication du MSDN.
    Cependant, lors de l'échange de données, il faut faire attention au format d'échange entre les 2 langages (problème de représentation, d'alignements, d'endian etc.). La réponse dépend peut être de la façon dont tu sérialises tes données en C++ et en C#.

  6. #6
    Membre éclairé
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Par défaut
    Merci pour la réponse, pour le moment j'essaye juste d'envoyer une chaine string mais ca passe pas. Je galère vraiment. Les exemple MSDN ne sont pas compatible :
    - le client du C++ fonctionne avec le serveur C++ (normal)
    - le client c# fonctionne avec le serveur c# (normal)

    mais je n'arrive pas à faire marcher un client c++ avec un serveur c#.

    Je ne trouve pas d'exemple sur le net de cas comme ca.

    Quelles sont les autres solutions que tubes nommés (Socket, partage par fichier (pas top))

    Merci

  7. #7
    Membre éclairé
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Par défaut
    Merci à tous, j'ai donc choisi et retenu la solution utilisant les named pipe, cela fonctionne très bien après pas mal de recherche, je dois par exemple transformer mes strings c# afin que le C++ puisse les lire à l'autre extrémité et vis versa. je vous parle même pas des foncions de fou que j'ai faite pour sérialiser / dé-sérialiser un objet mais maintenant que tout fonctionne ca me va..



    A bientôt

  8. #8
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Citation Envoyé par jmjmjm Voir le message
    je vous parle même pas des foncions de fou que j'ai faite pour sérialiser / dé-sérialiser un objet
    Et si tu nous en parlais pour qu'on sache à quoi cela ressemble
    Peux-tu poster un exemple ou deux de fonction de sérialisation/désérialisation dans les 2 langages au cas où on serait confronté au même problème ?

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

Discussions similaires

  1. [Windows]accès base de registre windows
    Par Greg01 dans le forum API standards et tierces
    Réponses: 27
    Dernier message: 05/06/2007, 15h14
  2. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  3. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  4. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45
  5. Quel désassembleur/assembleur pour un exe Windows ?
    Par Anonymous dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 17/04/2002, 10h59

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