[openrtm-users 00554] Re: Consumerの複数のインスタンス[rtm0.4.1]

kurihara shinji shinji.kurihara @ aist.go.jp
2008年 7月 28日 (月) 18:06:54 JST


堀内 様

産総研 栗原です。


> 話を簡単にしますと、同じPC上にProvider.exeとConsumer.exeがあるとして
> Provider.exeを実行すると、rtclinkに表示が出ます。
> Consumer.exeを実行すると、rtclinkに表示が出て、両者のポートを
> つないでアクティブ化して、サービスポートが使えることを確認しました。
> 
> この状態で、もう一度同じConsumer.exeを実行してみても、rtclinkに新たな
> 表示は出ないし、このConsumer.exeからサービスポートを
> 使おうとしても、応答待ちになってブロックしています。
ご説明、有難うございます。
rtc.confのnaming.formatsを下記のようにする事でRTオブジェクトがプロセス
ID付きでネームサービスに登録されるようになりますので、上書きされる事は
なくなります。

  naming.formats: %p/%n.rtc

naming.formatsで指定できるフォーマットにつきましては、<OpenRTMインストー
ルディレクトリ>\etc\rtc.conf.sampleを参照願います。


以上、宣しくお願い致します。


On Mon, 28 Jul 2008 17:50:25 +0900
"horiuchi eiichi" <horiuchi.e @ aist.go.jp> wrote:

> 栗原様
> 
> 堀内です。
> 
> 話を簡単にしますと、同じPC上にProvider.exeとConsumer.exeがあるとして
> Provider.exeを実行すると、rtclinkに表示が出ます。
> Consumer.exeを実行すると、rtclinkに表示が出て、両者のポートを
> つないでアクティブ化して、サービスポートが使えることを確認しました。
> 
> この状態で、もう一度同じConsumer.exeを実行してみても、rtclinkに新たな
> 表示は出ないし、このConsumer.exeからサービスポートを
> 使おうとしても、応答待ちになってブロックしています。
> 
> このような使い方ができるかどうかが、質問の趣旨です。
> 
> -----Original Message-----
> From: kurihara shinji [mailto:shinji.kurihara @ aist.go.jp]
> Sent: Monday, July 28, 2008 2:43 PM
> To: horiuchi eiichi
> Cc: openrtm-users @ m.aist.go.jp
> Subject: Re: [openrtm-users 00549] Re: Consumerの複数のインスタンス
> [rtm0.4.1]
> 
> 
> 堀内 様
> 
> 産総研 栗原です。
> 
> > Consumerクラスのソースコードをコンパイルして得たバイナリファイルを実行し
> て、
> > メモリ上で動作中のプログラム(オブジェクト指向にならって、これをインスタン
>> > と呼びます)
> > があるとします。
> >
> > 同一バイナリファイルを同一PCで複数回実行して、複数のインスタンスができた
>> > き、
> > OpenRTMでこれらを区別して、Providerに接続することは可能でしょうか?
> これは、Consumerポートを持つコンポーネントを同一PCで複数起動するという
> 事でしょうか?
> また、"Providerに接続する"というのは、ConsumerポートとProviderポートを
> 接続するという事でしょうか?
> 
> ちなみに、複数のConsumerと一つのProviderを接続する事は可能です。
> 
> 
> 以上、宣しくお願い致します。
> 
> 
> 
> 
> On Sun, 27 Jul 2008 13:05:47 +0900
> "horiuchi eiichi" <horiuchi.e @ aist.go.jp> wrote:
> 
> > 栗原様
> >
> > 堀内です。
> >
> > ご指摘の方法で仕様通りの動作が実現でき、ありがとうとざいました。
> > もう一つお伺いしたいことがあります。
> >
> > Consumerクラスのソースコードをコンパイルして得たバイナリファイルを実行し
> て、
> > メモリ上で動作中のプログラム(オブジェクト指向にならって、これをインスタン
>> > と呼びます)
> > があるとします。
> >
> > 同一バイナリファイルを同一PCで複数回実行して、複数のインスタンスができた
>> > き、
> > OpenRTMでこれらを区別して、Providerに接続することは可能でしょうか?
> >
> > -----Original Message-----
> > From: kurihara shinji [mailto:shinji.kurihara @ aist.go.jp]
> > Sent: Friday, July 25, 2008 4:07 PM
> > To: horiuchi eiichi
> > Cc: openrtm-users @ m.aist.go.jp
> > Subject: [openrtm-users 00548] Re: Consumerの複数のインスタンス[rtm0.4.1]
> >
> >
> > 堀内 様
> >
> > お世話になっております。
> > 産総研 栗原です。
> >
> > > nameserviceで上書きしているように見えますが、
> > > 同一のConsumerクラスを実体化したインスタンス(Consumerのプログラム)が、
> > > 複数同時にあるときに、同時にProviderにアクセスできないのか?
> > 同じネームサーバーに複数のConsumerを登録しているという事でしょうか?
> >
> > もし、rtc.confにて、naming.formatsが"%n.rtc"となっている場合、
> > "%h.host_cxt/%n.rtc"のように書き換えて再度確認して頂けますで
> > しょうか。
> >
> >
> > 以上、宣しくお願い致します。
> >
> >
> > On Fri, 25 Jul 2008 15:30:43 +0900
> > "horiuchi eiichi" <horiuchi.e @ aist.go.jp> wrote:
> >
> > > 安藤様
> > >
> > > 堀内です。
> > >
> > > ケース1、ケース2は別々だと動作するが、同時に実行すると
> > > 先にnameserviceにアクセスしたConsumerが動作しなくなります。
> > > nameserviceで上書きしているように見えますが、
> > > 同一のConsumerクラスを実体化したインスタンス(Consumerのプログラム)が、
> > > 複数同時にあるときに、同時にProviderにアクセスできないのか?
> > > というのが質問の内容です。
> > >
> > > -----Original Message-----
> > > From: noriaki.ando @ gmail.com [mailto:noriaki.ando @ gmail.com] On
> > > Behalf Of Ando Noriaki
> > > Sent: Friday, July 25, 2008 1:45 PM
> > > To: horiuchi eiichi
> > > Cc: openrtm-users @ m.aist.go.jp
> > > Subject: [openrtm-users 00546] Re: Consumerの複数のインスタンス
> [rtm0.4.1]
> > >
> > >
> > > 堀内様
> > >
> > > 安藤です
> > >
> > > ケース1
> > > PC1                      PC1
> > > [RTC provider] ----- [RTC A consumer]
> > >
> > > ケース2
> > > PC1                      PC2
> > > [RTC provider] ----- [RTC B consumer]
> > >
> > > ケース1:×
> > > ケース2:○
> > >
> > > ということでしょうか?
> > > 見る限りはケース2で通信できているので、
> > > FWの問題ではないとおもうのですが。
> > >
> > > 詳しい状況、コードなどわかりませんので、
> > > 原因が何かはちょっとわかりません。
> > >
> > > SimpleService のサンプルはPC1上では動きますか?
> > >
> > >
> > > > いつもお世話になっております。
> > > > 堀内@産総研と申します。
> > > >
> > > > RTM0.4.1で
> > > > Providerのインスタンスをマシン1(Windows)で起動
> > > >
> > > > ConsumerのインスタンスAをマシン1で起動
> > > >
> > > > 同じConsumerのインスタンスBをマシン2(Fedora8)で起動
> > > >
> > > > rtclink 後、インスタンスBは正常に動作しますが
> > > > インスタンスAは通信がブロックします。
> > > >
> > > > 一般的な、server/client の要領で動作させるには何が必要でしょうか?
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > 安藤慶昭@独立行政法人産業技術総合研究所 研究員
> > >  知能システム研究部門 タスクインテリジェンス研究グループ
> > >  〒305-8568 茨城県つくば市梅園1-1-1 中央第2
> > >  TEL: 029-861-5981 FAX: 029-862-6631
> > >  n-ando @ aist.go.jp, n-ando @ ieee.org
> > >
> > >
> > >
> > >
> >
> >
> > --
> > ----------
> > 栗原 眞二
> > shinji.kurihara @ aist.go.jp
> > kurihara @ imagination.co.jp
> >
> >
> >
> >
> 
> 
> --
> ----------
> 栗原 眞二
> shinji.kurihara @ aist.go.jp
> kurihara @ imagination.co.jp
> 
> 
> 


-- 
----------
栗原 眞二
shinji.kurihara @ aist.go.jp
kurihara @ imagination.co.jp



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