我正在使用 ACE TAO 运行一个多程序项目。我设置了环境变量并编译了 ACE_TAO 环境。然后我将 .bat 复制tao_cosnaming.exe
到我的项目运行目录并使用 .bat 启动命名服务。
如果我直接启动它们,程序运行良好,但是当我在调试模式下调用 obj = orb->resolve_initial_references("NameService") 时,它们无法正确获取“NameService”。(我无法运行 obj->_non_existent(),它会引发错误)。
似乎是因为命名服务是作为远程服务实现的。当我调用 obj = orb->invoke resolve_initial_references("RootPOA") 时,一切都很好,因为 RootPOA 是本地对象,所以 obj->_non_existent() 立即返回。
.bat 文件如下:
cd /D %DTAX_RUN_DIR%
tao_cosnaming -ORBEndPoint iiop://%DTAX_NAME_SERVICE_HOST%
和是DTAX_RUN_DIR
环境DTAX_NAME_SERVICE_HOST
变量。DTAX_RUN_DIR
是项目运行目录和DTAX_NAME_SERVICE_HOST=169.254.51.81:10493
有人可以分享一些关于出了什么问题的想法吗?谢谢!