Project

General

Profile

Actions

機能 #1271

closed

複数NICを持つノードのCORBAオブジェクトのIORの問題

Added by Anonymous over 15 years ago. Updated about 14 years ago.

Status:
終了
Priority:
通常
Assignee:
-
Target version:
-
Start date:
02/23/2010
Due date:
% Done:

100%

Estimated time:

Description

複数のネットワークインターフェースを持つノードが、ネームサーバにオブジェクトリファレンスを登録する際、通常ローカルループバックを除くインターフェースのうち、第1番目のインターフェースのアドレスのみを含むIORをネームサーバに登録する。
これにより、意図しないアドレスがIORに付与され、結果として通信のできないオブジェクトリファレンスとなる場合がある。
これを回避する方法として、corba.endpoint オプションが利用できるが、指定できるアドレスはひとつのみとなり、特定のネットワークでしか使用できないIORとなる問題がある。
これを回避する方法を調査し、改良を行う。


Related issues 1 (0 open1 closed)

Related to OpenRTM-aist (C++) - 機能 #1055: 複数NICを持つノードのCORBAオブジェクトのIORの問題終了n-ando01/10/2010

Actions
Actions #1

Updated by Anonymous over 15 years ago

IOR に TAG_ALTERNATE_IIOP_ADDRESS を追加することが可能か調査した。

java オプチョンの -Dorg.omg.PortableInterceptor.ORBInitializerClass を使用し ORB インタセプタして IOR に TAG_ALTERNATE_IIOP_ADDRESS を追加することが可能であることがわった。
テスト的に 192.168.100.224 37259 を TAG_ALTERNATE_IIOP_ADDRESS として追加するプログラムを作成した。

IOR:000000000000001749444c3a48656c6c6f4170702f48656c6c6f3a312e3000000000000100000000000000a6000102000000000a3132372e302e312e3100b30300000031afabcb0000000020fa030fcd00000001000000000000000100000008526f6f74504f4100000000080000000100000000140000000000000300000001000000200000000000010001000000020501000100010020000101090000000100010100000000260000000200020000000000030000001a00000000000000103139322e3136382e3130302e32323400918b
Type ID: "IDL:HelloApp/Hello:1.0" 
Profiles:
1. IIOP 1.2 127.0.1.1 45827 "....... ....................RootPOA.............." 
            TAG_CODE_SETS char native code set: ISO-8859-1
                          char conversion code set: UTF-8, 0x00010020
                          wchar native code set: UTF-16
                          wchar conversion code set: 0x00010100

            unknown tag(0x00000026) 0x0002
            TAG_ALTERNATE_IIOP_ADDRESS 192.168.100.224 37259


インタセプタ処理の establish_components が2回動作してしまうので、この点に関しては引き続き調査が必要である。

Actions #2

Updated by Anonymous over 15 years ago

java オプチョンの -Dorg.omg.PortableInterceptor.ORBInitializerClass は ORB.init のプロパティで設定可能。

put("org.omg.PortableInterceptor.ORBInitializerClass.<Service>","");

Actions #3

Updated by Anonymous about 15 years ago

  • % Done changed from 0 to 100
Actions #4

Updated by n-ando about 14 years ago

  • Status changed from 担当 to 終了
Actions

Also available in: Atom PDF