[openrtm-users 00484] Re: 別々のマシンで起動したJAVA版RTCをコネクトできない

Ando Noriaki n-ando @ aist.go.jp
2008年 6月 13日 (金) 19:55:15 JST


喜多様

安藤です

やはり、オブジェクトリファレンスに127.0.0.1がセットされていましたね。
/etc/hosts には

127.0.01  localhost

のように記述されていますよね。
これを

150.29.191.224 localhost

として、JavaのRTCを起動してみてください。
#邪道なやりかたですが。。。

2008/06/13 19:28 Nobuyuki Kita <n.kita @ aist.go.jp>:
> 安藤様
>
> RtmNSHelper.py の結果をお送りします。
>
> nkita @ invent-v0:~/INVENT$ ./RtmNSHelper.py localhost:2809
> ConsoleOut0|rtc: !!python/tuple
> - IOR:
>  - ['Type ID: "IDL:openrtm.aist.go.jp/RTC/DataFlowComponent:1.0"']
>  - ['Profiles:']
>  - [1. IIOP 1.2 127.0.0.1 44029 "....... .t..................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']
>  - ['']
>  - ['']
>  bname:
>  - !!python/object:CosNaming.NameComponent {id: ConsoleOut0, kind: rtc}
>  id: ConsoleOut0
>  kind: rtc
>  objref: !!python/object/new:omniORB.CORBA.Object {state: 'IOR:010000003100000049444c3a6f70656e72746d2e616973742e676f2e6a702f5254432f44617461466c6f77436f6d706f6e656e743a312e3000000000010000000000000082000000000102000000000a3132372e302e302e3100abfd00000031afabcb00000000208174938900000001000000000000000100000008526f6f74504f410000000008000000020000000014000000000000020000000100000020000000000001000100000002050100010001002000010109000000010001010000000026000000020002'}
> - null
>
> 喜多 伸之
>
>> 安藤様
>>
>> いろいろ調査していただきありがとうございます。
>>
>> 産総研の堀さんより先に助言をいただいてまして
>> (堀さんありがとうございました。)、wiresharkなるツールで
>> パケットを調べてみました。
>>
>> C++版のConsoleOutを150.29.191.224なるIPのマシンで
>> 起動したところ、添付ファイル(packet-C++.png)のように、
>> IIOP::Profile_hostが正しくセットされているようですが、
>> Java版のConsoleOutを起動したときには、
>> 添付ファイル(packet-Java.png)のように、
>> IIOP::Profile_hostが127.0.1.1にセットされている
>> ようであることがわかりました。(さらに、
>> RtmNSHelper.pyで調べたほうがよいでしょうか。)
>>
>> 127.0.1.1でぐぐったところ、
>> http://emasaka.blog65.fc2.com/blog-entry-220.html
>> がヒットしました。ubuntuの/etc/hostsは確かに、
>> 127.0.0.1      localhost
>> 127.0.1.1      invent-v3
>> となってました。これが原因かと喜んで、
>> 127.0.0.1      localhost invent-v3
>> のように、同様にinvent-v0も修正して再起動して試しましたが、
>> がっくり、状況は変わりませんでした。
>>
>> 喜多 伸之
>>
>> > 喜多様
>> >
>> > 安藤です
>> >
>> > Java版のOpenRTMのソースをちょっと見てみたのですが、
>> > corba.endpoint オプションがちゃんと実装されていないようです。
>> > ですので、Javaでは現在のところcorba.endpointオプションは使用できません。
>> > 申し訳ありません。
>> >
>> > corba.endpoint オプションが使えない場合でも、corba.argsオプションで、
>> >
>> > corba.args: -ORBInitialHost hostname -ORBInitialPort portnumber
>> >
>> > のように指定すれば、ホストアドレスとポート番号を指定できるはずなのですが、
>> > こちらも指定した通りORBが起動してくれていないようです。
>> >
>> > というわけで、Java版ではCORBAに希望のアドレスを使わせる方法が
>> > 今のところないようです。
>> >
>> >
>> > とりあえず、RtmNSHelper.py でRTCが使用しているアドレスとポートを
>> > 調べてみていただけないでしょうか?
>>
>>
>>
>
>
>
>
>
>



-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
 知能システム研究部門 タスクインテリジェンス研究グループ
 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
 TEL: 029-861-5981 FAX: 029-861-5971
 n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内