CORBAシーケンス<オクテット>ソケットを使用してより多くの遅く
質問
私は、CORBA releated質問があります。
私のJavaアプリでは私が使用して typedefの配列データ;
今私は、このデータベクターで遊ん。私は、CORBA仕様に右だ場合 base64Binaryのまたはxs:hexBinaryでシーケンスのいずれかのxsに変換されます。 これは、不透明タイプである必要があり、そのためには、任意のマーシャリングを使用しないでください。
私は別のIDLのスタイルを試してみました。
void Get(out Data d);
Data Get();
しかし、私が見るには、CORBAを使用してデータを移動すると、直接ソケットを使用してより多くの遅いことです。私は少しオーバーヘッドで元気ですが、股関節のデータがまだ整列化されるように、それは私を探しています。
私は何とかマーシャリングを抑制するために、私のオーブを設定する必要はありますか私は何かを逃しました。
解決
1)いいえ、何かを設定する必要はありません。 2)あなたは何かを見逃していません。
CORBAはすべてをmarshallesとして、オクテットシーケンスも整列化されています。 の常にそれがの(バイト配列)で同じようにマーシャリングされます。マーシャリングは、それが何らかの方法で変更しなければならないことを意味するものではありません。 CDRエンコーディングは、オブジェクトのシリアル化のためのたびに使用されます。このプロセスは、マーシャリングと呼ばれます。
ところで、あなたはSunのJava ORBまたはのJacORBを使用していますか? のすべてのORBは、異なるまたは追加のプロパティ設定を持っているよう。 (しかし、それは...必要はありません)の
。 - 255、コンパイル時エラーが発生しなければならない[...]オクテットのタイプは、その8ビットの量である範囲外のオクテット定数の「値0:CORBA 3.0.3仕様再オクテット定義通信システムによって送信された変換を受けないことが保証されています。 "の
イタリックの
で編集します