2 台のマシン間の専用イーサネット接続を介して、Windows で実行されている .NET アプリケーションから Linux で実行されている C++ アプリケーションにコマンドを発行する必要があるアプリケーションがあります。
私は独自のプロトコルを展開するよりも、標準的な形式の RPC を使用したいと考えています。以前はクロスプラットフォーム アプリケーションに XML RPC を使用していましたが、これらの特定のコマンドには多くの数値データ (コマンドごとに数千の倍精度浮動小数点値) を含める必要があり、コマンドが頻繁に送信されるため、何らかの方法を考えています。バイナリ シリアル化の方が適しています。そのため、プロトコル バッファの調査を開始しました。
それで、いくつか質問があります:
- Protocol Buffers がシリアライゼーション形式を定義していることは知っていますが、それらを使用してクロスプラットフォーム RPC を実行する方法について受け入れられている業界標準はありますか?
- Protocol Buffers は、ネストされたデータ構造を可変サイズの配列で表現するのに適していますか? コマンドごとのポイント数は可変であり、データの一部の最も自然な表現は、それぞれがポイントの配列を含む構造体の配列です。これらの配列はすべて、特定のコマンドに対して可変サイズになります。
- クロスプラットフォーム通信に Protocol Buffers を使用する際に遭遇した落とし穴はありますか?