我在虚拟主机上启动了 orbd (使用IP A ),并注册了一些远程对象。托管虚拟盒子的盒子有IP B 。当客户端尝试连接到 A 的ORB以获取NamingContext时,ORB会回复一个指向主机 B 和端口1049的LocationForward消息(就像启动另一个ORB一样)在那个主人)。 NamingContext成功返回,但显然我无法通过名称获取在NamingContext(在 A 托管的ORB处)注册的对象。
谁能解释一下发生了什么?如何远程访问 A 托管的orb?
提前谢谢。
答案 0 :(得分:1)
我不确定你的具体情况,但是,我经常在带有java / unix / hosts文件的java的unix机器上看到这种行为。
例如,假设带有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 localhost
192.168.0.2 server server.foo.com
答案 1 :(得分:1)
我最近遇到了一个非常类似的问题。我有一个在虚拟机上运行ORB的设置,一旦它启动,主机上的端口1049就会打开,就像它是在默认端口后面运行的另一个ORB一样。我的问题是防火墙,它阻止了与这个端口的连接。一旦我打开它,一切都已开始按预期工作。