我们正在使用omniORB 库开发一个C++ CORBA 客户端。
我们的应用程序需要连接到两个不同的服务器,每个服务器都托管在不同的机器上。为此,我们使用两个CORBA::ORB_ptr
变量。有趣的是,当我们连接到一台服务器时,我们的程序似乎可以正常工作,但是当一个服务器ORB_ptr
处于活动状态时,尝试连接到第二台服务器时会出现CosNaming::NamingContext::NotFound
异常。
您不需要 ORB 变量来连接到两台服务器,您需要两个对象引用,每个服务器一个,可以使用一个 ORB 完成。对于这两个服务器,您必须从例如命名服务中检索对象引用,将它们缩小到正确的类型,然后您就可以使用它们。
查看 CORBA 书籍,例如查看http://www.ciaranmchale.com/corba-explained-simply或查看发行版提供的示例/测试。