Virtual machine ORB转发到错误的位置

Virtual machine ORB转发到错误的位置,virtual-machine,virtualbox,corba,Virtual Machine,Virtualbox,Corba,我在虚拟主机上启动了一个orbd(使用IP a),并注册了一些远程对象。托管Virtual Box的Box具有IP B。当客户端尝试连接到A处的ORB以获取NamingContext时,ORB会回复一条指向主机B和端口1049的LocationForward消息(就像在该主机上启动另一个ORB一样)。NamingContext已成功返回,但显然我无法获取在NamingContext(位于托管于A的ORB)中按名称注册的对象 谁能解释一下发生了什么事?如何访问远程托管的orb? 提前感谢。我不确定

我在虚拟主机上启动了一个orbd(使用IP a),并注册了一些远程对象。托管Virtual Box的Box具有IP B。当客户端尝试连接到A处的ORB以获取NamingContext时,ORB会回复一条指向主机B和端口1049的LocationForward消息(就像在该主机上启动另一个ORB一样)。NamingContext已成功返回,但显然我无法获取在NamingContext(位于托管于A的ORB)中按名称注册的对象

谁能解释一下发生了什么事?如何访问远程托管的orb?


提前感谢。

我不确定您的具体情况,但是,我经常在使用java的unix计算机上看到这种行为,这些计算机上的/etc/hosts文件被阻塞

例如,假设带有orb的服务器在dns中名为“server.foo.com”,ip地址为192.168.0.2,但它的/etc/hosts文件显示为“127.0.0.1 server server.foo.com”

当客户端使用dns连接到orb以解析server.foo.com时,orb将以127.0.0.1而不是192.168.0.2进行回复

修复方法是将/etc/hosts更改为

127.0.0.1本地主机


192.168.0.2 server server.foo.com

我最近遇到了一个非常类似的问题。我在虚拟机上安装了ORB,一旦启动,主机上的端口1049就打开了,就像是在默认端口后面运行的另一个ORB一样。我的问题是防火墙,它阻止了到这个端口的连接。一旦我打开它,一切都开始正常工作。

您是如何启动orbd的?您是否使用“-ORBInitialHost”来指定主机A?是的,我尝试过指定它,但luckI没有尝试过:如果您使用SUN的orb,则有一个属性允许您控制正在使用的主机名:。其他orb提供者使用不同的属性(例如com.ibm.CORBA.BootstrapHost)Thx进行回复。是的,我正在使用默认的太阳天体(bin/orbd)。据我所知,指定com.sun.CORBA.ORBServerHost等于在参数列表中传递-ORBInitialHost。不,它不是等效的:“为了避免调用getHostName,可以设置以下属性…”。请参阅上面的链接页面。谢谢回复!这似乎是对的-我今天将根据我的配置进行验证