0

zeromq でメッセージとして送信するベクトルをシリアライズしようとしています。構造体には基本型 (bool、string、int、float) のみが含まれます。

ネットワーク経由で転送しているので、何らかの圧縮を使用して帯域幅を節約したいと考えています。

また、これをプラットフォームに依存しないようにしたいと思います。Linux ボックスからブロードキャストしますが、受信者は Windows または Linux のいずれかです。

サード パーティのライブラリは、Windows と Linux の両方で動作することが可能である限り、問題ありません。

zeromq メッセージを送信するには、通常、memcpy などを使用してデータを「ロード」します。 http://api.zeromq.org/2-1:zmq-msg-data

誰かが適切なライブラリを教えてくれ、シリアル化/圧縮とそれに続く逆シリアル化/圧縮解除の簡単なサンプル コードを提供してくれませんか? 送信したい構造体は次のようになります。

struct sampledata {
  string testing_text;
  int testing_int;
  float testing_number;
  bool testing_bool;
}

これは一般的な C++ プログラミングの問題であり、適切な解決策が既に開発されているはずです。

4

2 に答える 2

1

少なくともBoost SerializationをBoost gzip-filtered streamと組み合わせて検討したいと思います。

于 2013-04-25T19:32:44.557 に答える