ACE TAO を使用してマルチプログラム プロジェクトを実行しています。環境変数を設定し、ACE_TAO 環境をコンパイルしました。次に、プロジェクトの実行ディレクトリにコピーし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
何がうまくいかないのかについて誰かアイデアを共有できますか? ありがとう!