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 :

communiquer avec une application c++


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut communiquer avec une application c++
    Bonjour,

    J'aimerais créer une sorte de chat entre une application c# et une application c++. C'est à dire que je dois pouvoir appeler une fonction c# depuis mon programme c++ et vis versa.
    Je pense qu'il faut que j'utilise l'interop et du early binding mais je ne suis plus très familier avec ces concepts car je n'y ai pas touché depuis un moment.
    Pourriez vous me donner un bref exemple du code c++ et c# à utiliser?
    Je ne savais pas trop dans quelle section du forum poser cette question. J'ai finalement choisi de poster la question ici pensant que plus de développeurs c# connaissent le c++ que l'inverse. Merci de déplacer mon sujet si une section est plus appropriée.

    merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 55
    Par défaut
    Hello,

    Peut-être ceci ?

    @+

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    et le rapport entre la choucroute et la mayonnaise ?

    Faire un chat n'implique AUCUNEMENT ce que tu insinues dans ton post: à savoir l'appel d'une fonction C++ en C# et l'appel d'une fonction C# en C++...

    L'architecture de base d'un chat s'appuie sur le réseau pour faire communiquer X application. Le réseau, c'est va veux dire : Socket (TCP ou UDP), donc, en aucun cas la notion mentionnée (appel C++, C#) n'intervient...

    Si la question maintenant est "Comment appeler du C++ depuis C#" ou bien "Comment utiliser du code C# depuis du code C++", on pourra te répondre.. mais là, ta question n'est pas suffisamment précise et exacte pour que je puisse te donner autre chose que cela comme réponse.

  4. #4
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    merci pour vos réponses.

    Il s'agit vraiment d'appeler du code c++ depuis du c# et vis versa.
    J'explique un peu mon projet:
    J'ai une application c++ qui, elle, est un vrai chat. Elle reçoit et envois des messages par internet.
    Cette application possèdes des méthodes sendmessage() et getmessage().
    Je voudrais maintenant créer une application c# qui serve d'interface à l'utilisateur. En fait l'utilisateur n'accèderait pas directement à l'application c++ mais à l'application c#. Mais comme ces 2 applications sont sur la même machine, il n'y a pas de communication par le réseau.
    • Quand l'application c++ reçoit un message, elle doit donc appeler une méthode de l'application c# pour que celle-ci l'affiche.
    • Quand on envois un message depuis l'application c#, il faut en fait appeler la méthode sendmessage() de l'application c++.

    Finalement, l'application c++ ne sert que de relais.

    J'espère que c'est plus clair.

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    tu peux très bien faire du réseau en local...

    avec les sockets (TCP, UDP, RPC ou IPC je ne sais plus le terme exacte)...

    Sinon, tu peux toujours faire un Api WIN32 SendMessage() entre les 2 applications ou bien utiliser MSMQ pour envoyer des messages d'une application vers l'autre.

    Si tu veux garder 2 executables (1 C# et l'autre C++), c'est la solution la plus facile, rapide et simple à mettre en oeuvre !!!

    Sinon, avec une DLL C++, tu fais un wrapper en C++/CLI en exposant une méthode SendMessage() dans ta classe C++/CLI et en exposant un event "OnMEssageReceive" auquel s'abonnera la classe C# possédant le wrapper C++/CLI...

    Je pense que tu as toutes les solutions possibles en main

  6. #6
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    Sinon, tu peux toujours faire un Api WIN32 SendMessage() entre les 2 applications ou bien utiliser MSMQ pour envoyer des messages d'une application vers l'autre.

    Si tu veux garder 2 executables (1 C# et l'autre C++), c'est la solution la plus facile, rapide et simple à mettre en oeuvre !!!
    La solution la plus simple et rapide à mettre en place me plait... mais je ne connais aucune des 2 solutions que tu proposes.
    Pour MSMQ je peux assez facilement trouver des infos mais c'est plus difficile pour l'Api WIN32.
    Pourrais-tu m'expliquer en quoi consiste ces méthodes et quels sont les intérêts de chacune?

    merci

Discussions similaires

  1. Communiquer avec une application Java
    Par valdano dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 27/05/2013, 10h42
  2. Communiquer avec une application cliente
    Par Invité dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 01/06/2011, 16h27
  3. Communiquer avec une application en arrière plan
    Par ZMJUVENTINO dans le forum Général Java
    Réponses: 4
    Dernier message: 11/02/2009, 14h39
  4. Communiquer avec une application
    Par ZMJUVENTINO dans le forum Général Java
    Réponses: 3
    Dernier message: 28/01/2009, 00h40
  5. Créer un service Web et communiquer avec une application lourde
    Par fabseven dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 10/03/2008, 20h22

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