[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 メーリングリストの案内