0

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

何がうまくいかないのかについて誰かアイデアを共有できますか? ありがとう!

4

1 に答える 1