Voilà j'ai un petit soucis, je dois réaliser une appli client-server en
remoting.
Le principe est simple, le client doit pouvoir lorsqu'il le souhaite envoyer
des calculs à faire au serveur. Il s'agit en fait de calcul partager.
Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit
effectuer pour ensuite renvoyer les resultats au client.
J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu qu'il
y avait une histoire de delegate mais dans mon appli, le serveur
ne connait pas a l'avance et n'enregistre pas de service disponible.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
VANNESTE Xavier
oula faire un cours sur le remoting dans un post ca risque d'etre dur lol voici un article sur le remoting.net http://www.c2i.fr/code.aspx?IDCodeI4
sinon il y a les webservice tres simple d'utilisation "Xavier" a écrit dans le message de news:cbbr1e$7sa$
Bonjour,
Voilà j'ai un petit soucis, je dois réaliser une appli client-server en remoting. Le principe est simple, le client doit pouvoir lorsqu'il le souhaite
envoyer
des calculs à faire au serveur. Il s'agit en fait de calcul partager. Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit effectuer pour ensuite renvoyer les resultats au client. J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu
qu'il
y avait une histoire de delegate mais dans mon appli, le serveur ne connait pas a l'avance et n'enregistre pas de service disponible.
merci.
oula faire un cours sur le remoting dans un post ca risque d'etre dur lol
voici un article sur le remoting.net
http://www.c2i.fr/code.aspx?IDCodeI4
sinon il y a les webservice tres simple d'utilisation
"Xavier" <xavier.dagassan@sage.com> a écrit dans le message de
news:cbbr1e$7sa$1@s1.read.news.oleane.net...
Bonjour,
Voilà j'ai un petit soucis, je dois réaliser une appli client-server en
remoting.
Le principe est simple, le client doit pouvoir lorsqu'il le souhaite
envoyer
des calculs à faire au serveur. Il s'agit en fait de calcul partager.
Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit
effectuer pour ensuite renvoyer les resultats au client.
J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu
qu'il
y avait une histoire de delegate mais dans mon appli, le serveur
ne connait pas a l'avance et n'enregistre pas de service disponible.
oula faire un cours sur le remoting dans un post ca risque d'etre dur lol voici un article sur le remoting.net http://www.c2i.fr/code.aspx?IDCodeI4
sinon il y a les webservice tres simple d'utilisation "Xavier" a écrit dans le message de news:cbbr1e$7sa$
Bonjour,
Voilà j'ai un petit soucis, je dois réaliser une appli client-server en remoting. Le principe est simple, le client doit pouvoir lorsqu'il le souhaite
envoyer
des calculs à faire au serveur. Il s'agit en fait de calcul partager. Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit effectuer pour ensuite renvoyer les resultats au client. J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu
qu'il
y avait une histoire de delegate mais dans mon appli, le serveur ne connait pas a l'avance et n'enregistre pas de service disponible.
merci.
Arnaud Debaene
Xavier wrote:
Bonjour,
Voilà j'ai un petit soucis, je dois réaliser une appli client-server en remoting. Le principe est simple, le client doit pouvoir lorsqu'il le souhaite envoyer des calculs à faire au serveur. Il s'agit en fait de calcul partager. Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit effectuer pour ensuite renvoyer les resultats au client.
Dans les grandes lignes : - Tu définis dans une assembly séparée une interface qui déclare les méthodes, propriétés et événements exposés par ton serveur. - Dans le serveur, tu écrits une classe qui hérite de MarshalByRef et qui implémente ton interface. - Dans le client, tu récupères (c'est la partie la plus délicate) une instance de ton interface et tu l'utilises pour appeler le serveur.
La partie la plus délicate, c'est de créer l'instance de l'objet serveur et de la rendre disponible au client. Dans ton cas, il me semble qu'un objet "well known" singleton serait assez adapté - voire MSDN pour les détails. Le serveur devrait probablement être un service Windows, à moins que tu puisses lancer le processus serveur à la main.
J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu qu'il y avait une histoire de delegate
Ben non, pourquoi un delegate?
mais dans mon appli, le serveur ne connait pas a l'avance et n'enregistre pas de service disponible.
Ce qui veux dire? D'ne manière ou d'une autre, il faudra que: - le processus serveur soit lancé avant que le client ne s'y connecte (contrairement à COM, le .NET remoting ne connait pas la notion d'activation). - le processus client connaisse l'adresse réseau du serveur (.NET ne propose ni de système de découverte de service par broadcast, ni de service d'annuaire pour loaclaiser les serveurs sur un réseau).
Arnaud MVP - VC
Xavier wrote:
Bonjour,
Voilà j'ai un petit soucis, je dois réaliser une appli client-server
en remoting.
Le principe est simple, le client doit pouvoir lorsqu'il le souhaite
envoyer des calculs à faire au serveur. Il s'agit en fait de calcul
partager.
Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit
effectuer pour ensuite renvoyer les resultats au client.
Dans les grandes lignes :
- Tu définis dans une assembly séparée une interface qui déclare les
méthodes, propriétés et événements exposés par ton serveur.
- Dans le serveur, tu écrits une classe qui hérite de MarshalByRef et qui
implémente ton interface.
- Dans le client, tu récupères (c'est la partie la plus délicate) une
instance de ton interface et tu l'utilises pour appeler le serveur.
La partie la plus délicate, c'est de créer l'instance de l'objet serveur et
de la rendre disponible au client. Dans ton cas, il me semble qu'un objet
"well known" singleton serait assez adapté - voire MSDN pour les détails. Le
serveur devrait probablement être un service Windows, à moins que tu puisses
lancer le processus serveur à la main.
J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu
qu'il y avait une histoire de delegate
Ben non, pourquoi un delegate?
mais dans mon appli, le serveur
ne connait pas a l'avance et n'enregistre pas de service disponible.
Ce qui veux dire? D'ne manière ou d'une autre, il faudra que:
- le processus serveur soit lancé avant que le client ne s'y connecte
(contrairement à COM, le .NET remoting ne connait pas la notion
d'activation).
- le processus client connaisse l'adresse réseau du serveur (.NET ne propose
ni de système de découverte de service par broadcast, ni de service
d'annuaire pour loaclaiser les serveurs sur un réseau).
Voilà j'ai un petit soucis, je dois réaliser une appli client-server en remoting. Le principe est simple, le client doit pouvoir lorsqu'il le souhaite envoyer des calculs à faire au serveur. Il s'agit en fait de calcul partager. Le serveur ne connait bien sur pas a l'avance les travaux qu'il doit effectuer pour ensuite renvoyer les resultats au client.
Dans les grandes lignes : - Tu définis dans une assembly séparée une interface qui déclare les méthodes, propriétés et événements exposés par ton serveur. - Dans le serveur, tu écrits une classe qui hérite de MarshalByRef et qui implémente ton interface. - Dans le client, tu récupères (c'est la partie la plus délicate) une instance de ton interface et tu l'utilises pour appeler le serveur.
La partie la plus délicate, c'est de créer l'instance de l'objet serveur et de la rendre disponible au client. Dans ton cas, il me semble qu'un objet "well known" singleton serait assez adapté - voire MSDN pour les détails. Le serveur devrait probablement être un service Windows, à moins que tu puisses lancer le processus serveur à la main.
J'aimerai savoir comment on peut faire ca avec .net remoting, j'ai vu qu'il y avait une histoire de delegate
Ben non, pourquoi un delegate?
mais dans mon appli, le serveur ne connait pas a l'avance et n'enregistre pas de service disponible.
Ce qui veux dire? D'ne manière ou d'une autre, il faudra que: - le processus serveur soit lancé avant que le client ne s'y connecte (contrairement à COM, le .NET remoting ne connait pas la notion d'activation). - le processus client connaisse l'adresse réseau du serveur (.NET ne propose ni de système de découverte de service par broadcast, ni de service d'annuaire pour loaclaiser les serveurs sur un réseau).
- Client Activated : l'objet est créé chez le client - Server Activated in SingleCall : Le client obtient une référence de l'objet créé par le serveur. Dans ce mode, un objet est créé pour chaque client. A noter que l'objet est réellement créé non pas à l'instanciation chez le client mais au premier appel d'une méthode. - Server Activated in Singleton : La différence avec le précédent mode, c'est que tous les clients partagent le même objet serveur.
A noter que la durée de vie des objets ont une durée limitée (5 minutes par défaut).
Dans votre cas, il semble que le mode "Server Activated in SingleCall " soit le plus approprié.
- Client Activated : l'objet est créé chez le client
- Server Activated in SingleCall : Le client obtient une référence de
l'objet créé par le serveur. Dans ce mode, un objet est créé pour chaque
client. A noter que l'objet est réellement créé non pas à l'instanciation
chez le client mais au premier appel d'une méthode.
- Server Activated in Singleton : La différence avec le précédent mode,
c'est que tous les clients partagent le même objet serveur.
A noter que la durée de vie des objets ont une durée limitée (5 minutes par
défaut).
Dans votre cas, il semble que le mode "Server Activated in SingleCall " soit
le plus approprié.
- Client Activated : l'objet est créé chez le client - Server Activated in SingleCall : Le client obtient une référence de l'objet créé par le serveur. Dans ce mode, un objet est créé pour chaque client. A noter que l'objet est réellement créé non pas à l'instanciation chez le client mais au premier appel d'une méthode. - Server Activated in Singleton : La différence avec le précédent mode, c'est que tous les clients partagent le même objet serveur.
A noter que la durée de vie des objets ont une durée limitée (5 minutes par défaut).
Dans votre cas, il semble que le mode "Server Activated in SingleCall " soit le plus approprié.