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++ プログラミングの問題であり、適切な解決策が既に開発されているはずです。