Problème avec .Net Remoting

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,
Suis débutant, un ptit coup de pouce serait le bien venu.

Objectif:  Le Client pilote le Serveur
J'ai une structure Client-Serveur connecté en Socket asynchrone.(application graphique, pas console!!!)
J'aimerai mettre une bibliothèque de class au milieu de tout ca, qui contiendrait mes méthodes de déplacement graphique.
Un bouton sur le client, demande l'ouverture d'un formulaire coté serveur.
Comment arriver à cet exploit?
Je précise que la socket est bien active et fonctionne bien!

Dans l'attente de vous lire.
Cordialement.

 

2 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonjour,



je veux bien essayer de t'aider, mais j'ai besoin de mieux comprendre ton application.

- tu as 2 applications winform, dialoguant via socket.
- l'application dites serveur possede des formulaires
- l'application dites client veux envoyer un message au serveur pour ouvrir un formulaire.

Où est-ce que ce formulaire doit être afficher ? (cote client ou serveur?)

Si c'est coté serveur, alors il suffit de lui envoyer un message de type "ouvre-moi le formulaire machin" et le serveur créera une nouvelle instance de ce formulaire.

Si c'est côté client alors le serveur devra instancier puis sérialiser le formulaire, puis l'envoyer au client qui le déserialisera, mais ce formulaire doit être connu du client, sinon il ne pourra pas être déserialiser. il faut donc que le formulaire fasse parti d'une DLL commune aux 2 applications.

je ne suis pas sur que l'objet Form se sérialise par défaut , il te faudra donc gerer la sérialisation à la main; le plus simple serait sans doute que le serveur retourne un objet de données permettant au client d'instancier le formulaire lui-même.


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

Bonjour,
J'ai donc bien un application serveur winform et une application client winform.
J'ai crée une bibliothèque de class entre les deux pour générer une dll commune.
L'objectif étant bien d'ouvrir un formulaire sur le serveur via le client qui passerai la méthode à la dll.
Le formulaire a ouvrir à déjà été crée coté serveur. Mais je n'arrive pas à lui faire ouvrir (tjs coté serveur) grace à un bouton qui serais coté client par exemple.

Quel est la plus performante des méthodes? .Net remoting, tcp, socket?
Dans ma bibliothèque, dois je intégrer un fichier class ou un fichier interface?
Dois je utiliser les windows communication foundation?
Et effectivement la class Form n'est pas sérializable en théorie. Donc pas simple à mettre en oeuvre pour moi! :)

Donc, déjà si je pouvais résoudre la facon dont ouvrir mon formulaire coté serveur, ca m'enlèverai une grosse épine.

Merci.