2009-11-04 7 views
0

J'ai un client qui a besoin d'envoyer un paquet UDP à un serveur et la seule référence qu'il a au serveur est à travers le service de nommage CORBA (IOR). Je sais que l'IOR contient les informations sur le serveur, mais y a-t-il un moyen facile pour moi de l'extraire?Comment extraire le serveur Hôte/IP de CORBA IOR & NamingContextExt? [Java]

Ce code je à ce jour:

Object objRef = orb.resolve_initial_references("NameService"); 
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); 
Object o = ncRef.resolve_str(Name); 

Après cette Object o contient l'IOR (si je fais o.toString() il semble que comme un IOR valide), donc de ce qui peut Je fais pour obtenir les serveurs correspondants IP/PORT afin que je puisse lui envoyer un paquet UDP? Je sais que cela semble bizarre - pourquoi ne pas invoquer la méthode à distance, bien que ce soit pour un projet d'école et le professeur a recommandé de simplement stocker une autre table avec toutes les informations de séparation - mais j'essaie d'être créatif et puisque j'étais lire sur l'IOR je pensais que je pourrais faire quelque chose avec elle ...

Toute aide serait grandement appréciée. Merci,

Répondre

0

Vous ne savez pas si cela peut vous aider, mais voici les propriétés que j'utilise pour accéder à un service de nommage IBM CORBA. Vous pouvez peut-être essayer d'extraire ces propriétés de votre objet.

  • org.omg.CORBA.ORBInitialPort
  • org.omg.CORBA.ORBInitialHost

    export ORB_PROPERTY = "- DORBNamingProvider = CosNaming -Dorg.omg.CORBA.ORBClass = com.ibm.CORBA .iiop.ORB -Dorg.omg.CORBA.ORBInitialPort = $ {ORB_PORT} -Dorg.omg.CORBA.ORBInitialHost = $ {ORB_HOST} -Dcom.ibm.CORBA.Debug.Output =/dev/null "