Communication WCF CLient/Serveur

billyarmano Messages postés 7 Date d'inscription mercredi 29 décembre 2010 Statut Membre Dernière intervention 18 août 2011 - 28 juil. 2011 à 09:24
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 28 juil. 2011 à 13:30
je repose ma question sous une autre forme.
j'ai implémenté une application (Winform), je la considère comme client c'est ce client qui a la logique d'accès aux données et qui enrégistre les données dans SQLSErver et j'ai implémenté une application ServiceWCF que j'ai hebergé sur une machine( ou la même application Service sera installé sur plusieurs machines) ce ServiceWCF est en quelque sorte un espion sur la machine PCA car il démarre comme un servicewindows.
je consomme, à partir de mon client , les services hebergés sur different pc.
voici le problème:
- je veux qu 'à un instant t que le serviceWCF sur la machine PCA puisse appelé une méthode sur mon client que moi j'administre.
- que le client soit en mésure de contacter tous les services déployés sur diff PCS.
merci pour votre aide

3 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
28 juil. 2011 à 10:31
Salut

D'après ce que je comprends, tu as un client qui doit détecter les connexions d'un serveur et qui doit accepter les connexions vers plusieurs serveurs.
J'ai l'impression que tu as inversé quel est le client et quel est le serveur (par rapport au modèle classique Client/Serveur). Tel que je vois ton architecture, ton application WinForms est le serveur, et chaque machine PCA est un client.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
billyarmano Messages postés 7 Date d'inscription mercredi 29 décembre 2010 Statut Membre Dernière intervention 18 août 2011
28 juil. 2011 à 11:26
Non, en réalité le scénario est comme ceci:
Les Services WCF sont déployés sur des machines du LAN, donc ils agissent comme des espions sur des machines car ils tournent en arrière-plan et sont hebergés dans des applications WindowsServices.
l'application d'adminitration(client winform)
est installée sur une machine X du LAN.
alors, je cherche à ce que lorsque la machine PCA démarre (donc le serviceWCFA démmarre aussi)
que ce serviceWCFA qui vient de démmarer puisse executer une méthode sur le client( qui est pour moi comme un serveur central d'administration ).c'est par exemple une méthode
Connexion(ip, NomPC,Heure). donc le service passe en parametre l'IP de la machine sur laquelle le service est installé, Nom du PC et l'heure de démmarrage. une fois cette méthode executée chez le client , le client sera en mésure de savoir que telle machine est connecté ou a démmaré à telle heure et voici son addresse ip , son nom , etc...
c'est en gros le souci que j'ai.
merci.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
28 juil. 2011 à 13:30
De manière générale, un client n'a une connexion qu'à un seul serveur. Un serveur peut avoir une connexion à plusieurs client. C'est le serveur qui est en écoute des connexions et le client qui engage la connexion.

D'après tout ça, le fait de considérer l'application WinForms comme le serveur et les machine PCA comme les clients me parait beaucoup plus judicieux.

Si on veut être encore plus simple, une méthode Connexion() est forcément appelée par un client.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
Rejoignez-nous