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 :

[C#] Communication entre applications ?


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 8
    Points
    8
    Par défaut [C#] Communication entre applications ?
    Bonjour ^^


    Voila suite à mon topic au sujet de mon problème avec le Net Remoting, je me suis demandé si je m"y prenais bien pour faire communiquer 2 applications, d'où ma question :
    "Quels moyens existe t'il pour faire communiquer par des messages 2 de mes applications tournant sur la meme machine en c#, et ce de manière bidirectionnelle et asynchrone ? Quels sont leurs avantages/inconvénients ?"

    J'ai beaucoup de pistes , notamment :
    • Net Remoting (unidirectionnel dû au serveur tjrs à l'écoute ?)
    • Com / COM + ?
    • Sockets ( pas idéal vu que c'est sur le meme pc ?)
    • Pipes (implémentation pas très aisé et unidirectionnelle ?)
    • MSMQ (Microsoft Message Queuing ? lent ?)



    Voila , merci d'avance pour les réponses

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Moi je te suggererai de regarder du coté de WCF ..

    Notament le binding NetNamedPipeBinding (pour la communication sur une machine unique)

    Surtout l'interet de WCF c'est qu'aujourd'hui tu fais tes applis ..
    Et demain tu choisira le protocole de com entre les applis ..

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    tiens je ne connaissais pas et ca m'a l'air bien ainsi que facile a implémenter,notamment grâce au wizard (ca m arrange vu que je trouvais les pipes plutot complexes, oui je début ;p )

    Ce que j'ai du mal a comprendre (et j'ai le meme problème avec le Net Remoting) c'est la bi directionnalité. je m explique :

    On rend des méthodes et des objets du serveur accessibles à des clients, c'est bien mais si le client veut envoyer des messages ? il faut aussi lui implémenter un serveur ?

    J'ai du mal saisir quelque chose

    Edit : Je pensais que le WCF était contenu dans Visual Studio mais ce n'est pas le cas :/

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Extension WCF
    Citation Envoyé par fmichael
    Edit : Je pensais que le WCF était contenu dans Visual Studio mais ce n'est pas le cas :/
    Salut,

    En effet WCF n'est pas présent de base dans Visual 2005, mais avec l'extension WCF pour Visual 2005, c'est réglé
    Tu peux la télécharger sur le site de Microsoft : http://www.microsoft.com/downloads/d...DisplayLang=en

    ++

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Merci pour le lien ca me sera utile , mais j'ai le meme problème qu'avec le remoting , impossible de déclencher des événements sur le serveur et le client

  6. #6
    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
    Points : 5 194
    Points
    5 194
    Par défaut
    si si , on peut declencher des event en remoting sur le client ou sur le server

    Faut juste que l'un et l'autre "se connaisse"... je crois qu'il faut passer par
    les MessageSink pour y arriver

    On peut trouver sur le net des exemples ou qui presente des event en
    remoting

    Sinon, en TCP, tu ne pourrais pas "lever" d'evenement, mais bon, t'es pas obligé
    d'utiliser le Tcp pour communiquer.. tu peux aussi utiliser l'Udp ou meme mieux
    pour ce qui est du remoting en local, le protocol IPC... bcp plus rapide
    qu'en tu fais du remoting local

    Sinon, tu peux toujours passer par de la mémoire partagée (perso, je deteste ce vieux mode d'échange)...

    Voila quelques pistes

    The Monz, Toulouse

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Ha ben ca tombe bien, j'ai utilisé les channels IPC pour mes tests avec le Net Remoting ^^

    j'ai réussi a déclencher un événement sur le serveur , mais d'une manière pas vraiment propre :p

    merci bcp pour la piste des messagesink , je vais voir ca de suite

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Bon après recherches , je ne trouve pas beaucoup d'exemples sur l'utilisation d'un messagesink

    tu n'aurais pas un petit exemple/lien/doc ou autre pour m'aider ?

    merci d'avance car je désespere et je suis a deux doigts d'utiliser les sockets pour faire communiquer les applications ^^

  9. #9
    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
    Points : 5 194
    Points
    5 194
    Par défaut
    Beh en faisant sur google une recherche genre :

    "C#, remoting, event" .. tu tomberas sur quelques liens....

    J'dois avoir un exemple mais je ne suis pas à mon bureau en ce moment
    donc, je ne peux pas trop de sortir cette exemple ni le lien

    Mais je l'ai deja vu...

    En gros, le principe est que le Client et le Serveur connaissent les objets
    proxy de l'un et l'autre ... car finalement, leve un evenemtn du serveur
    vers le client corresopnd à appelé une méthode du client (à faire en invoke
    si on veut eviter les blocages peut-etre

    Mais je le reconnais, les exemples sont plutot rares sur cet aspect la sur le net, meme dans le bouquin de smacchia on en parle pas trop

    regardes peut-etre sur tech-brother (ou quelque chose comme ca) comme site car il me semble y avoir vu un truc il y a bien 6 mois 1 an

    A+ The Monz, Toulouse

  10. #10
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2002
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Concernant le Remoting, je te conseille de rechercher des articles (le mieux, c'est le bouquin) d'Ingo Rammer, un guru en la matière : http://www.thinktecture.com/resource...motingprojects

    Ne t'embête pas à gérer les MessageSinks manuellement : pas besoin. Et attention aux Events via Remoting : ça fonctionne, mais faut prendre des précautions (style enlever les clients morts de la liste d'invocation des delegates, etc.).

    MSMQ : c'est ultra-facile et assez rapide. Tout dépend de ce dont tu as besoin. Pour de l'asynchrone.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    oui je crois que je me suis lancé dans le net remoting alors que msmq ou de betes sockets etaient plus adaptés aux besoins de l'application ^^


    merci pour vos réponses

Discussions similaires

  1. Communication entre application
    Par toure32 dans le forum Delphi
    Réponses: 5
    Dernier message: 21/06/2007, 13h56
  2. Communication entre applications
    Par StormimOn dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 04/06/2007, 14h27
  3. communication entre application.
    Par clucky dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2006, 10h10
  4. Réponses: 7
    Dernier message: 12/05/2006, 08h36
  5. [COM | VB] communication entre application hétérogène
    Par zlavock dans le forum Général Java
    Réponses: 8
    Dernier message: 21/11/2004, 10h51

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