[openrtm-users 02876] マネージャーが使うポート番号について

5 個の投稿 / 0 new
最終投稿
Kei Okada
オフライン
Last seen: なし 前
登録日: 2011-05-17 20:20
[openrtm-users 02876] マネージャーが使うポート番号について

岡田です.

初歩的な質問でbeginnersに連絡したほうがいいのかもしれないのですが,
OpenRTMのマネージャーが使うポートはデフォルトで2810になっているとおもうのですが,
こちらでRTCを別のポート(例えば-ORBInitRef
NameService=corbaloc:iiop:localhost:5005/NameServiceとオプションをつけて5005で立ち上げる)場合にはポートは幾つかになるでしょうか?
例えばこちらのクライアントソフト(hrpsysのrtm.py)で以下のようなコードがあるのですが,ここの2810は替えるべきでしょうか?そのままでいいでしょうか?

def getManagerDirectly(hostname, mgr = None):
global orb
corbaloc = "corbaloc:iiop:" + hostname + ":2810/manager"
try:
obj = orb.string_to_object(corbaloc)
mgr = RTCmanager(obj._narrow(RTM.Manager))
except:
mgr = None
return mgr

ついでに,これもよくわかっていないんですが,複数のRTCをプロセスとして立ち上げると
それぞれのRTCがマネージャをもっていると思うのですが,普通は問題ないのですが,
特定のユーザだけ,2個目のRTCを立ち上げた時に以下のエラーが出るんですが,
これはどういう状況だかわかったりしますでしょうか?

omniORB: Failed to bind to address :: port 2810. Address in use?
omniORB: Error: Unable to create an endpoint of this description: giop:tcp::2810
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

未定義
Ando Noriaki
オフライン
Last seen: 1年 9ヶ月 前
登録日: 2011-09-04 17:20
[openrtm-users 02878] マネージャーが使うポート番号について

安藤です

あまりビギナーな質問ではないので、usersにも転送します(笑

> 岡田です.
>
> 初歩的な質問でbeginnersに連絡したほうがいいのかもしれないのですが,
> OpenRTMのマネージャーが使うポートはデフォルトで2810になっているとおもうのですが,
> こちらでRTCを別のポート(例えば-ORBInitRef
> NameService=corbaloc:iiop:localhost:5005/NameServiceとオプションをつけて5005で立ち上げる)場合にはポートは幾つかになるでしょうか?

このオプションは、orb->resolve_initial_references("NameService") という
呼び出しの時に返すオブジェクトリファレンスを与えるためのオプションです。
OpenRTM-aistではネームサービスのリファレンス取得やその他のサービスの
リファレンス取得に resolve_initial_references は使っていないので、
このオプションはシステムの挙動に影響を与えません。

もし、ORBのポートを含むエンドポイントを指定したい場合は rtc.conf の
corba.endpointsオプションで与えると、希望するIPアドレスおよびポートで
ORBを起動することができます。

> 例えばこちらのクライアントソフト(hrpsysのrtm.py)で以下のようなコードがあるのですが,ここの2810は替えるべきでしょうか?そのままでいいでしょうか?
>
>
> def getManagerDirectly(hostname, mgr = None):
> global orb
> corbaloc = "corbaloc:iiop:" + hostname + ":2810/manager"
> try:
> obj = orb.string_to_object(corbaloc)
> mgr = RTCmanager(obj._narrow(RTM.Manager))
> except:
> mgr = None
> return mgr

このコードはマスタマネージャのリファレンスを取得しているようですので、
もし、マスターマネージャのポート番号を変更したならこの2810は変更する必要があります。
ただ、OpenRTM-aist内部ではマスタマネージャのポート番号を2810以外に設定する方法は
用意されていなかったと思います。(ちょっと確信がありませんが、、、)
エンドポイントの指定とマスターかどうかの指定はマスターの指定が優先されるためです。

> ついでに,これもよくわかっていないんですが,複数のRTCをプロセスとして立ち上げると
> それぞれのRTCがマネージャをもっていると思うのですが,普通は問題ないのですが,
> 特定のユーザだけ,2個目のRTCを立ち上げた時に以下のエラーが出るんですが,
> これはどういう状況だかわかったりしますでしょうか?
>
> omniORB: Failed to bind to address :: port 2810. Address in use?
> omniORB: Error: Unable to create an endpoint of this description: giop:tcp::2810

これは、2個目のマスターマネージャを起動しているためかと思います。
そのプロセスがマスターになる条件は、
1. (スタンドアロンコンポーネントの場合) オプションに-d がついている
2. rtc.conf で manager.is_master: YES が指定されている
の2つです。これを満たすプロセスを2つ以上起動すると、ポート番号が被るので
おそらくこのようなエラーが出ると思います。

> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

ysuga
オフライン
Last seen: 1年 8ヶ月 前
登録日: 2011-05-23 10:14
[openrtm-users 02879] マネージャーが使うポート番号について

菅です.

同様にマスターマネージャを複数起動していますが,ポートをかえながら起動して回避しています.

rtc.confで
master_manager: localhost:2811

というオプションで変更できます.

また名前がかぶる可能性もあるので,下記のようにして回避しています.

manager.name: manager_java
manager.naming_formats: %n_java.mgr

これを使って,複数言語のマスターマネージャを同時に3つ起動するという作業を実現しています.

2013年8月22日 10:44 Ando Noriaki :
> 安藤です
>
> あまりビギナーな質問ではないので、usersにも転送します(笑
>
>> 岡田です.
>>
>> 初歩的な質問でbeginnersに連絡したほうがいいのかもしれないのですが,
>> OpenRTMのマネージャーが使うポートはデフォルトで2810になっているとおもうのですが,
>> こちらでRTCを別のポート(例えば-ORBInitRef
>> NameService=corbaloc:iiop:localhost:5005/NameServiceとオプションをつけて5005で立ち上げる)場合にはポートは幾つかになるでしょうか?
>
> このオプションは、orb->resolve_initial_references("NameService") という
> 呼び出しの時に返すオブジェクトリファレンスを与えるためのオプションです。
> OpenRTM-aistではネームサービスのリファレンス取得やその他のサービスの
> リファレンス取得に resolve_initial_references は使っていないので、
> このオプションはシステムの挙動に影響を与えません。
>
> もし、ORBのポートを含むエンドポイントを指定したい場合は rtc.conf の
> corba.endpointsオプションで与えると、希望するIPアドレスおよびポートで
> ORBを起動することができます。
>
>> 例えばこちらのクライアントソフト(hrpsysのrtm.py)で以下のようなコードがあるのですが,ここの2810は替えるべきでしょうか?そのままでいいでしょうか?
>>
>>
>> def getManagerDirectly(hostname, mgr = None):
>> global orb
>> corbaloc = "corbaloc:iiop:" + hostname + ":2810/manager"
>> try:
>> obj = orb.string_to_object(corbaloc)
>> mgr = RTCmanager(obj._narrow(RTM.Manager))
>> except:
>> mgr = None
>> return mgr
>
> このコードはマスタマネージャのリファレンスを取得しているようですので、
> もし、マスターマネージャのポート番号を変更したならこの2810は変更する必要があります。
> ただ、OpenRTM-aist内部ではマスタマネージャのポート番号を2810以外に設定する方法は
> 用意されていなかったと思います。(ちょっと確信がありませんが、、、)
> エンドポイントの指定とマスターかどうかの指定はマスターの指定が優先されるためです。
>
>> ついでに,これもよくわかっていないんですが,複数のRTCをプロセスとして立ち上げると
>> それぞれのRTCがマネージャをもっていると思うのですが,普通は問題ないのですが,
>> 特定のユーザだけ,2個目のRTCを立ち上げた時に以下のエラーが出るんですが,
>> これはどういう状況だかわかったりしますでしょうか?
>>
>> omniORB: Failed to bind to address :: port 2810. Address in use?
>> omniORB: Error: Unable to create an endpoint of this description: giop:tcp::2810
>
> これは、2個目のマスターマネージャを起動しているためかと思います。
> そのプロセスがマスターになる条件は、
> 1. (スタンドアロンコンポーネントの場合) オプションに-d がついている
> 2. rtc.conf で manager.is_master: YES が指定されている
> の2つです。これを満たすプロセスを2つ以上起動すると、ポート番号が被るので
> おそらくこのようなエラーが出ると思います。
>
>
>
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users@openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users

Ando Noriaki
オフライン
Last seen: 1年 9ヶ月 前
登録日: 2011-09-04 17:20
[openrtm-users 02880] マネージャーが使うポート番号について

菅さん

安藤です

補足ありがとうございます。corba.master_manager オプションはマスターにも有効でしたね。
忘れてました。詳しくはこちらをどうぞ。

http://www.openrtm.org/openrtm/ja/content/rtcconf%E8%A8%AD%E5%AE%9A%E9%A0%85%E7%9B%AE%E4%B8%80%E8%A6%A7#toc8

2013年8月22日 11:17 Yuki Suga :
> 菅です.
>
> 同様にマスターマネージャを複数起動していますが,ポートをかえながら起動して回避しています.
>
> rtc.confで
> master_manager: localhost:2811
>
> というオプションで変更できます.
>
> また名前がかぶる可能性もあるので,下記のようにして回避しています.
>
> manager.name: manager_java
> manager.naming_formats: %n_java.mgr
>
> これを使って,複数言語のマスターマネージャを同時に3つ起動するという作業を実現しています.
>
>
>
>
> 2013年8月22日 10:44 Ando Noriaki :
>> 安藤です
>>
>> あまりビギナーな質問ではないので、usersにも転送します(笑
>>
>>> 岡田です.
>>>
>>> 初歩的な質問でbeginnersに連絡したほうがいいのかもしれないのですが,
>>> OpenRTMのマネージャーが使うポートはデフォルトで2810になっているとおもうのですが,
>>> こちらでRTCを別のポート(例えば-ORBInitRef
>>> NameService=corbaloc:iiop:localhost:5005/NameServiceとオプションをつけて5005で立ち上げる)場合にはポートは幾つかになるでしょうか?
>>
>> このオプションは、orb->resolve_initial_references("NameService") という
>> 呼び出しの時に返すオブジェクトリファレンスを与えるためのオプションです。
>> OpenRTM-aistではネームサービスのリファレンス取得やその他のサービスの
>> リファレンス取得に resolve_initial_references は使っていないので、
>> このオプションはシステムの挙動に影響を与えません。
>>
>> もし、ORBのポートを含むエンドポイントを指定したい場合は rtc.conf の
>> corba.endpointsオプションで与えると、希望するIPアドレスおよびポートで
>> ORBを起動することができます。
>>
>>> 例えばこちらのクライアントソフト(hrpsysのrtm.py)で以下のようなコードがあるのですが,ここの2810は替えるべきでしょうか?そのままでいいでしょうか?
>>>
>>>
>>> def getManagerDirectly(hostname, mgr = None):
>>> global orb
>>> corbaloc = "corbaloc:iiop:" + hostname + ":2810/manager"
>>> try:
>>> obj = orb.string_to_object(corbaloc)
>>> mgr = RTCmanager(obj._narrow(RTM.Manager))
>>> except:
>>> mgr = None
>>> return mgr
>>
>> このコードはマスタマネージャのリファレンスを取得しているようですので、
>> もし、マスターマネージャのポート番号を変更したならこの2810は変更する必要があります。
>> ただ、OpenRTM-aist内部ではマスタマネージャのポート番号を2810以外に設定する方法は
>> 用意されていなかったと思います。(ちょっと確信がありませんが、、、)
>> エンドポイントの指定とマスターかどうかの指定はマスターの指定が優先されるためです。
>>
>>> ついでに,これもよくわかっていないんですが,複数のRTCをプロセスとして立ち上げると
>>> それぞれのRTCがマネージャをもっていると思うのですが,普通は問題ないのですが,
>>> 特定のユーザだけ,2個目のRTCを立ち上げた時に以下のエラーが出るんですが,
>>> これはどういう状況だかわかったりしますでしょうか?
>>>
>>> omniORB: Failed to bind to address :: port 2810. Address in use?
>>> omniORB: Error: Unable to create an endpoint of this description: giop:tcp::2810
>>
>> これは、2個目のマスターマネージャを起動しているためかと思います。
>> そのプロセスがマスターになる条件は、
>> 1. (スタンドアロンコンポーネントの場合) オプションに-d がついている
>> 2. rtc.conf で manager.is_master: YES が指定されている
>> の2つです。これを満たすプロセスを2つ以上起動すると、ポート番号が被るので
>> おそらくこのようなエラーが出ると思います。
>>
>>
>>
>>> _______________________________________________
>>> openrtm-users mailing list
>>> openrtm-users@openrtm.org
>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users@openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
>
>
> --
> ///////////////////////////////////////////////////////////////////
> // Yuki Suga, Ph.D.
> // URL: http://www.ysuga.net/?lang=en
> // E-mail: ysuga@ysuga.net
> ///////////////////////////////////////////////////////////////////
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

Kei Okada
オフライン
Last seen: なし 前
登録日: 2011-05-17 20:20
[openrtm-users 02881] マネージャーが使うポート番号について

ありがとうございます.

助かりました.

% 最初は,マスターのポートってなんですか,程度の質問だったんですが,書いているうちに,いろいろ整理がつかず,混みいってしまいました...とはいえ,だいぶ理解が進んだ気がします.ありがとうございます.

2013/8/22 Ando Noriaki :
> 安藤です
>
> あまりビギナーな質問ではないので、usersにも転送します(笑
>
>> 岡田です.
>>
>> 初歩的な質問でbeginnersに連絡したほうがいいのかもしれないのですが,
>> OpenRTMのマネージャーが使うポートはデフォルトで2810になっているとおもうのですが,
>> こちらでRTCを別のポート(例えば-ORBInitRef
>> NameService=corbaloc:iiop:localhost:5005/NameServiceとオプションをつけて5005で立ち上げる)場合にはポートは幾つかになるでしょうか?
>
> このオプションは、orb->resolve_initial_references("NameService") という
> 呼び出しの時に返すオブジェクトリファレンスを与えるためのオプションです。
> OpenRTM-aistではネームサービスのリファレンス取得やその他のサービスの
> リファレンス取得に resolve_initial_references は使っていないので、
> このオプションはシステムの挙動に影響を与えません。
>
> もし、ORBのポートを含むエンドポイントを指定したい場合は rtc.conf の
> corba.endpointsオプションで与えると、希望するIPアドレスおよびポートで
> ORBを起動することができます。
>
>> 例えばこちらのクライアントソフト(hrpsysのrtm.py)で以下のようなコードがあるのですが,ここの2810は替えるべきでしょうか?そのままでいいでしょうか?
>>
>>
>> def getManagerDirectly(hostname, mgr = None):
>> global orb
>> corbaloc = "corbaloc:iiop:" + hostname + ":2810/manager"
>> try:
>> obj = orb.string_to_object(corbaloc)
>> mgr = RTCmanager(obj._narrow(RTM.Manager))
>> except:
>> mgr = None
>> return mgr
>
> このコードはマスタマネージャのリファレンスを取得しているようですので、
> もし、マスターマネージャのポート番号を変更したならこの2810は変更する必要があります。
> ただ、OpenRTM-aist内部ではマスタマネージャのポート番号を2810以外に設定する方法は
> 用意されていなかったと思います。(ちょっと確信がありませんが、、、)
> エンドポイントの指定とマスターかどうかの指定はマスターの指定が優先されるためです。
>
>> ついでに,これもよくわかっていないんですが,複数のRTCをプロセスとして立ち上げると
>> それぞれのRTCがマネージャをもっていると思うのですが,普通は問題ないのですが,
>> 特定のユーザだけ,2個目のRTCを立ち上げた時に以下のエラーが出るんですが,
>> これはどういう状況だかわかったりしますでしょうか?
>>
>> omniORB: Failed to bind to address :: port 2810. Address in use?
>> omniORB: Error: Unable to create an endpoint of this description: giop:tcp::2810
>
> これは、2個目のマスターマネージャを起動しているためかと思います。
> そのプロセスがマスターになる条件は、
> 1. (スタンドアロンコンポーネントの場合) オプションに-d がついている
> 2. rtc.conf で manager.is_master: YES が指定されている
> の2つです。これを満たすプロセスを2つ以上起動すると、ポート番号が被るので
> おそらくこのようなエラーが出ると思います。
>
>
>
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users@openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク