ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
corbaloc形式でCORBAオブジェクトにアクセスする方法を説明しましたが、一応アクセスできるようにする方法についても説明します。
このコードの通りに、
役に立つことは少ないような気がしますが、データポートやサービスポートのテストをするプログラムを最短で書いてみるとこんな感じになるとは思います。意外に面倒くさいです。
まずRTCは起動しません。
マネージャを起動後、データポートを初期化します。
接続先のRTCのオブジェクトリファレンス、さらにそこからget_ports関数でポートを取得します。
後はconnect関数で接続して、適当にデータの入出力をするだけです。
このプログラムで初期化したデータポートは基本的には外からアクセスはできないので、IORを表示するようにしてやるか、ネーミングサービスに登録するか、あるいは上の手順でcorbaloc形式でアクセスできるようにするかしてやれば外部から操作はできるようにはなります。
まあ普通にテスト用のRTCを作成するか、rtshellとか使った方が楽なので、豆知識程度に覚えておくと役立つこともあるかもしれないです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
このコードの通りに、
poa = orb.resolve_initial_references("omniINSPOA")
poa._get_the_POAManager().activate()
id = "test"
poa.activate_object_with_id(id, ei)
みたいな感じにすればアクセスできるようになっています。
後は前回説明した手順でcorbaloc:iiop:localhost:2810/testのURLでオブジェクトリファレンスを取得できます。
みたいな感じにすればアクセスできるようになっています。
後は前回説明した手順でcorbaloc:iiop:localhost:2810/testのURLでオブジェクトリファレンスを取得できます。
役に立つことは少ないような気がしますが、データポートやサービスポートのテストをするプログラムを最短で書いてみるとこんな感じになるとは思います。意外に面倒くさいです。
まずRTCは起動しません。
マネージャを起動後、データポートを初期化します。
接続先のRTCのオブジェクトリファレンス、さらにそこからget_ports関数でポートを取得します。
後はconnect関数で接続して、適当にデータの入出力をするだけです。
このプログラムで初期化したデータポートは基本的には外からアクセスはできないので、IORを表示するようにしてやるか、ネーミングサービスに登録するか、あるいは上の手順でcorbaloc形式でアクセスできるようにするかしてやれば外部から操作はできるようにはなります。
まあ普通にテスト用のRTCを作成するか、rtshellとか使った方が楽なので、豆知識程度に覚えておくと役立つこともあるかもしれないです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
この記事にコメントする