Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    juillet 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : juillet 2008
    Messages : 25
    Points : 10
    Points
    10

    Par défaut retourner une interface CORBA

    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.

  2. #2
    Membre actif
    Inscrit en
    août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 161
    Points : 177
    Points
    177

    Par défaut

    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.

  3. #3
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    juillet 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : juillet 2008
    Messages : 25
    Points : 10
    Points
    10

    Par défaut

    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!

  4. #4
    Invité régulier
    Inscrit en
    juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juin 2010
    Messages : 32
    Points : 8
    Points
    8

    Par défaut

    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

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •