[openrtm-users 00610] Re: データポートで送受信できるデータの上限サイズについて

yosuke enomoto blitzunddonnert @ gmail.com
2008年 9月 17日 (水) 20:06:50 JST


産総研 栗原 様

榎本です.

了解致しました.
返答頂き,ありがとう御座います.

2008/09/17 18:34 kurihara shinji <shinji.kurihara @ aist.go.jp>:
> 榎本 様
>
> 産総研 栗原です。
>
>
> まず、omniORBでは、giop(General Inter-ORB Protocol)で扱える
> サイズはデフォルトで"2097152B(2MB)"となっております。
> 今回の問題では、2.8MByteのデータ通信で上手くいかなかったとの
> 事ですので、omniORBのgiopで扱えるサイズを越えている事が原因
> ではないかと考えられます。
>
>
> この最大サイズを変更するためには、下記の2つの方法があります。
>
>  1. rtc.confにて最大サイズを指定する。
>
>    # file: rtc.conf
>    corba.nameservers: localhost
>    naming.formats: %n.rtc
>    corba.args: -ORBgiopMaxMsgSize 3145728 # この行を追加
>                                           # Maxサイズを3Mに指定
>
>  2. 環境変数にて指定する場合
>     export ORBgiopMaxMsgSize=3145728
>
>
>  ※ giopMaxMsgSizeを指定する場合、server,client共(対になるコンポーネン
>    ト)に設定する必要があります。
>
>
> (omniORB configuration and API)
>  http://omniorb.sourceforge.net/omni41/omniORB/omniORB004.html
>
>
> 以上、宣しくお願い致します。
>
>
>
> On Wed, 17 Sep 2008 17:22:51 +0900
> "yosuke enomoto" <blitzunddonnert @ gmail.com> wrote:
>
>> 榎本です.
>>
>> データポートで送受信できるデータの上限サイズを伺いたいと思います.
>>
>> データポートを使い,TimedOctetSeqに大きいサイズの構造体(2.8MByte)をmemcpyし,送受信しようとしたところ,上手く送ることが出来ませんでした.
>> しかしながら,単純に構造体のサイズを小さく変えてみた(1.3MByte)ところ,送受信することができました.
>>
>> データポートを介した通信では,データを一度バッファに格納してから通信していると伺っておりますので,このサイズを超えてしまう為に通信ができなくなってしまうのでは,とは思っておりますが,このような理解でよろしいでしょうか?
>>
>> もし,このような理解でよろしければ,データポートの上限サイズについて,
>> TimedOctetSeqならば何Byte,TimedDoubleSeqなら何個の配列,というような指標を頂けたら幸いかと思います.
>>
>
>
> --
> ----------
> 栗原 眞二
> shinji.kurihara @ aist.go.jp
> kurihara @ imagination.co.jp
>



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