問題タブ [protocol-buffers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
9325 参照

java - プロトコル バッファ Java RPC スタック

このウィキペディアのエントリによると:

「Protocol Buffers は Facebook の Thrift プロトコルと非常によく似ていますが、定義されたサービスに使用する具体的な RPC スタックが含まれていません。Protocol Buffers がオープン ソース化されたため、このギャップを埋めるために多くの RPC スタックが登場しました。」

ただし、引用されている RPC スタックの例はありません。RPC スタックの Java ベースの実装を提案できる人はいますか?

0 投票する
1 に答える
1392 参照

protocol-buffers - SerializeWithLengthPrefixと同等のC++

ソケット(TcpListenerおよびTcpClient)を使用してProtocol Buffers(protobuf-net)を使用して通信ライブラリを構築しましたが、正常に動作していますが、同僚はC++を使用してソフトウェアと通信するためのライブラリを作成する必要があります。

Serializer.NonGeneric.SerializeWithLengthPrefixとを使用していることがわかりましたSerializer.NonGeneric.TryDeserializeWithLengthPrefix

protobuf C ++ライブラリに同等の関数はありますか?そうでない場合、誰かがそれを実装する方法を知っていますか、それとも共有するために実装しましたか?

0 投票する
1 に答える
1048 参照

c# - フィールドのProtoInclude?

私は単純なオブジェクトを持っています

そしてキーに問題があります。その型は object ですが、int、long、または string のいずれかです。私は直感的に ProtoInclude 属性を使用して「これらの型を期待する」と言いますが、残念ながらそれらはクラスのみの属性です。これを回避する方法を知っている人はいますか? 背景として、公開オブジェクト Key は歴史的な理由から (そしてあちこちに) ここにあるので、すべてのリファクタリングの母を避けたいと思います ;-) これをシリアル化する可​​能性があれば、強制的にシリアル化することさえできます。文字列 ?

0 投票する
1 に答える
750 参照

protocol-buffers - PrefixStyleをFixed32に切り替えた後、逆シリアル化が失敗する

使用して開発している通信ライブラリのテストスイートがあり、正常にprotobuf-net実行されています。すべてのテストに合格します。しかし、PrefixStyleをBase128からFixed32に変更すると、逆シリアル化は失敗します。

TryDeserializeWithLengthPrefix関数から受け取る例外は次のとおりです。

p>

メッセージをシリアル化および逆シリアル化するときにPrefixStyle.Base128を単純に保持すれば、すべてが機能します。

誰かが何が起こっているのか知っていますか?

0 投票する
4 に答える
8855 参照

datetime - プロトコルバッファで小数と日時を使用する最良の方法は何ですか?

プロトコル バッファでサポートされているリストに含まれていない一般的なデータ型を保存する最適な方法を知りたいです。

  • 日時 (秒精度)
  • datetime (ミリ秒の精度)
  • 固定精度の小数
  • 可変精度の小数
  • 多数の bool 値 (それらが多数ある場合、それらのタグのために、それぞれに 1 ~ 2 バイトのオーバーヘッドがあるように見えます。

また、対応する C++/Python/Java データ型に非常に簡単にマップするという考え方もあります。

0 投票する
1 に答える
540 参照

blob - mysqlpp::sql_blob を std::string に変換しても安全ですか?

MySQL データベースからバイナリ データを取得しています。mysqlpp::sql_blob タイプとして出てきます。

この BLOB がシリアル化された Google Protobuf であることはたまたまです。正常にアクセスできるように、シリアル化を解除する必要があります。

ParseFromString() は mysqlpp:sql_blob 型を対象としていないため、これはコンパイル エラーになります。

ただし、キャストを強制すると、正常にコンパイルされます。

これは安全ですか?mysqlpp ドキュメントからのこのスニペットのために、私は特に心配しています:

「C++ 文字列はバイナリ データを適切に処理するため、sql_blob の代わりに std::string を使用できると考えるかもしれませんが、現在の String の設計は C 文字列を介して std::string に変換されます。その結果、BLOB データは切り捨てられます。 SSQLS の作成中に最初に埋め込まれた null 文字で。文字列または SSQLS メカニズムのいずれかを完全に再設計しない限り、これを修正する方法はありません。」

ご協力ありがとうございます。

0 投票する
9 に答える
31955 参照

maven-2 - Protocol Buffers を Maven2 ビルドに統合する

私は、既存のかなりバニラな Maven 2 プロジェクトで Protocol Buffers を試しています。現在、生成されたソースを更新する必要があるたびに、シェル スクリプトを呼び出しています。各ビルドの前にソースを自動的に生成したいので、これは明らかに面倒です。恥ずべきハッカーに頼らないことを願っています。

だから、私の質問は2つあります:

  1. ロングショット:上記を自動で達成できるMaven 2用の「プロトコルバッファプラグイン」はありますか?そのようなプラグインの実装に挑戦したと思われるGoogle Codeのブランチがあります。残念ながら、コード レビューに合格していないか、protobuf トランクにマージされていません。したがって、そのプラグインのステータスは不明です。

  2. おそらくもっと現実的です: 実際のプラグインが不足している場合protoc、Maven 2 ビルドから他にどのように呼び出すことができますか? antrun既存のシェルスクリプトを呼び出しなどに結び付けることができると思います。

個人的な経験が最も高く評価されます。

0 投票する
5 に答える
12723 参照

objective-c - Objective-C でのプロトコル バッファの使用

Objective-C でアプリケーションを開発するときに、Google のプロトコル バッファを使用した人はいますか?

ファイルを Objective-C にコンパイルするための現在のプロジェクトはありますか.proto。すべての Google ドキュメントは単に Java、C++、または Python を参照しています。

0 投票する
6 に答える
527 参照

c# - .NET でシリアル化された型の変更に対して最も寛容なシリアライザーはどれですか?

XmlSerializer は、シリアル化された型への新しいメンバーの追加、既存のメンバーの削除などに対してより寛容であることに気付きました。

これを BinaryFormatter で実行し、古いデータを逆シリアル化しようとすると、例外がスローされました。

オプションを寛容にするために、他にどのような代替手段がありますか?つまり、例外をスローせずにデフォルト値を使用したり、それらをスキップしたりするものはありますか?

プロトコル バッファはこの点で寛容ですか?

0 投票する
1 に答える
325 参照

java-me - Java meでGoogleプロトコルバッファを使用するには?

Google プロトコル バッファを使用してプロトコルを設計しましたが、Java me クライアントを作成したいと考えています。しかし、私が見つけたこの実装は厳しく制限されています。列挙型、ネストされたメッセージは許可されず、非常に基本的であり、使用目的が無効になります。

java-me 用のプロトコル バッファの代替実装はありますか。