Exécution d'une méthode en réseau local

Signaler
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009
-
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009
-
Bonjour bonjour,

Désolé d'etre insistant sur ce forum, mais voila 8 jours que je galère à comprendre quelque chose, qui parait peut etre simple pour certains mais pas si simple que ca, puisque personne ne réponds! ou n'est capable de me mettre sur la voie!
J'ai une application serveur connecté à une application client en socket (connection permanente).
Se sont 2 applications winform.
Sur l'application serveur, j'ai un bouton qui doit exécuter une méthode d'ouverture d'un nouveau formulaire, MAIS COTé CLIENT!
Coté client: j'ai bien crée un nouveau winform avec sa méthode d'ouverture.
Coté serveur: j'ai bien crée un bouton qui fait appel à cette méthode.

Mais à chaque fois, le nouveau winform s'ouvre coté Serveur!
J'aimerai qu'elle s'ouvre coté Client!!!
Est ce qu'une ame charitable pourrait m'éclairer?

D'avance merci.

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Ce n'est pas au serveur à ouvrir la form mais au client.

Coté serveur sur le click du bouton tu envoie un ordre au client d'ouvrir la form.

Coté client, il va scruter s'il reçoit des ordres. Si parmi ces ordres, il y a l'ordre d'ouvrir la form, il va le traiter et ouvrir lui même la form.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009

Le bouton du serveur "donne l'ordre d'éxécuter la méthode"
La méthode est bien écrite sur le client. (J'ai bien compris que c'est au client d'ouvrir son propre formulaire)
Un exemple?
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonjour,

Ton code :
Coté client: j'ai bien crée un nouveau winform avec sa méthode d'ouverture.
Coté serveur: j'ai bien crée un bouton qui fait appel à cette méthode.
Il ne faut pas que le serveur fasse appel à cette méthode, il faut qu'il envoie un message au client, et c'est le client qui devra faire appel  à cette methode.

Mais à chaque fois, le nouveau winform s'ouvre coté Serveur!
C'est normal, le code s'execute du côté ou il est lancé.

Dans une application Client serveur, le client envoie des requettes au serveur, qui les execute et retourne un résultat.
Dans ton cas c'est le client qui joue le rôle de serveur, et le serveur qui qui envoie un ordre, mais si le principe est renversé, il reste le même. Echange de messages ou d'objets, mais l'execution du code doit toujours être lancé du côté ou il va s'executer.

Il faut que

C# is amazing, enjoy it!
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009

Il est vrai que j'ai intervertis client et serveur. Dsl.
Dans le cadre ou le client doit executer sa méthode (donc écrite coté client),
comment dois-je procéder pour que le serveur lui face executer cette méthode?

public void openfclient (objet sender, eventargs e)
{
   FormClient fclient = new FormClient();
   fclient.Show();
}

D' avance merci beaucoup.