|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2008 Messages : 25 ![]() |
Bonjour à tous, suite à des segfault que je ne comprend pas, je me pause des questions.
J'ai un client et un serveur qui communiquent via CORBA. Mon serveur instancie et enregistre l'instance d'un objet (héritant du POA de l'objet) sur l'ORB. Mon client instancie à son tour l'objet dérivé de la même description et le lie à celui enregistré sur l'ORB via le service de nomage. Jusque là tout va bien. Maintenant quelle est la marche à suivre lorsque l'objet partagé par le client et le serveur possède une méthode qui retourne un objet également issue d'une description idl (interface). Est ce qu'un simple retour de l'objet est suffisant pour le partager entre les deux processus ou est il également nécessaire de l'enregistrer sur l'ORB comme on je l'ai fait pour le premier objet. Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : août 2005 Messages : 161 ![]() |
Oui un simple retour d'une référence d'objet permet de "partager" cet objet, du moment que le dialogue a été amorcé à travers un objet initial, dont le client a récupéré une référence via le service de nommage dans ton cas.
Pour que l'on soit bien d'accord, je reformule : Côté serveur, tout objet qui est appelable par un client doit être déclaré dans l'ORB (qui est local au processus serveur). L'ORB pourra ainsi transmettre les appels entrants aux objets. Au moins un des objets est enregistré dans le service de nommage, ce qui permet au client de "voir" un objet initial sur lequel il peut faire des appels. Le contrat IDL peut prévoir des méthodes qui renvoient des objets (en fait des références d'objets, aucun objet ne transite) et dans cas les références d'objets renvoyées par appels sur l'objet initial sont parfaitement exploitables côté client Mais comme indiqué plus haut les objets doivent être correctement déclarés côté serveur. |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2008 Messages : 25 ![]() |
Merci pour ta réponse, j'avais résolu le problème de mon coté mais ça pourra être utile pour d'autres.
Mon problème provenait d'un objet que je transmettait via un appel de fonction mais dont tous les attribut n'étaient pas tous instancié. Il faut vraiment faire attention au objets que vous transmettez! Chaque attribut (de type classe) doit impérativement être instancié... C'est une source fréquente d'erreur. Merci encore!
|
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : juin 2010 Messages : 32 ![]() |
svp est ce que vous pouvez développez votre solution par un exemple bien détaillé parce que j'ai pas pu savoir où je fait l'instanciation !!!
merci d'avance |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com