Problème avec .Net Remoting

kikiokiller Messages postés 42 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 31 mai 2009 - 8 mai 2009 à 17:03
kikiokiller Messages postés 42 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 31 mai 2009 - 9 mai 2009 à 11:04
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

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
9 mai 2009 à 09:34
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!
0
kikiokiller Messages postés 42 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 31 mai 2009
9 mai 2009 à 11:04
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.
0
Rejoignez-nous