客户端是否可以访问IMR以获取服务器的主机名?
答案 0 :(得分:3)
这可能是间接的。因为您将从IMR(实施存储库)收到“位置转发”。您的ORB必须能够从对象重定向中提取主机的地址。
问题是:您想对这些信息做些什么?
CORBA(应该)位置透明...因此,不要添加位置相关服务!
答案 1 :(得分:2)
即使是tuergeist建议(主机地址)也不一定是服务器正在运行的地方。首先,服务器可能实际上并未运行,但仍可能在IMR中注册。其次,主机名可以映射到许多IP地址;使用某种额外的容错网络层,IP地址可以解析为多台计算机。最后,如果CORBA的Fault Tolerant规范与IMR结合,那么还有另一个间接层。
teurgeist提出的问题是最合适的,不添加位置相关服务的建议就是圣人。
作为脚注,依赖任何IMR行为也是不好的,因为IMR是CORBA规范中最不明确的方面之一。基本上,它最终会说,“供应商可以提供一个,这里有它可以做的事情”。就是这样。因此,如果您依赖于特定行为或特定API,您可以立即将自己与一个供应商的IMR特定实现联系起来。