問題タブ [msgpack]
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.
compression - json データを圧縮するための MsgPack、なぜ gzip/deflate を使用しないのですか?
json メッセージの圧縮に使用できるMsgPackについて聞いたことがありますが、それについて質問があります。MsgPack の代わりに単に Gzip/Deflate を使用しないのはなぜですか? デバッグもしたほうがいいと思います。
android - AndroidでのMessagePackシリアル化オブジェクトエラー
androidでmessagepackを使用すると、クラスをシリアル化/逆シリアル化できますが、完全に正しいわけではありません。
簡単なテストクラス:
テストコード:</ p>
実行後"byte[] b = msgpack.write(a);" androidでは、出力バイト配列b []が正しくありません(javaと比較してください)
AndroidでMessagePackを使用するレビューがあります
bson - BSONからMessagepackへ
私が直面している問題は、BSONにはMessagepackでサポートされていないObjectIdとTimestampが付属しており、Messagepackのカスタムシリアライザーを定義できないことです(少なくとも私が知る限り)。
pymongoのBSONとmsgpackを比較するためのPythonコードを作成しました。あまり最適化することなく、300%のパフォーマンス向上を達成できました。では、BSONをMessagepackに変換する方法はありますか?
c - MsgPack キーがタイプ msgpack_object であるのはなぜですか?
MsgPack の C API で、キー (たとえば、msgpack_object_kv のキー フィールド) が msgpack_object 型であるのはなぜですか?
https://github.com/msgpack/msgpack-c/blob/master/src/msgpack/object.h
msgpack_object_raw だけではないのはなぜですか? それらはどのタイプでもかまいませんか?
c - アンパックされた msgpack_object は、アンパック元のバッファに依存しますか?
私が見ている奇妙な動作に基づいて、次のコードは無効であると推測しています。私の質問は: 以下で作成された msgpack_object は msgpack_sbuffer に依存していますか? つまり、msgpack_sbuffer_free(buffer) が呼び出されると、(msg.data 内の) msgpack_object は無効になりますか? もしそうなら、この状況で依存関係のない msgpack_object を割り当てられたヒープを取得する正しい方法は何ですか?
python - Sockjs-竜巻とRPC
私は自分のサイトにsockjs-tornadoサーバーを追加しようとしていますが、MsgPackを介して(msgpack-rpc-pythonを使用して)他のアプリに接続することを決定するまで、すべて正常に機能しました。そして今、sockjsサーバーまたはRPCサーバーのどちらかで動作します。それらのどちらから開始するかに応じて、最初にループを開始します。
両方に1つのtornado.ioloopを使用する必要があると思います。しかし、それを達成する方法がわかりません。または、竜巻サーバーにrpcを追加する別の方法があるかもしれませんか?
msgpack-rpc-pythonを使用したsockjs-tornadoサンプルコードは次のとおりです。
`
どんな提案や例でも大歓迎です!
.net - キャッシングのために .NET で複雑なオブジェクト レイヤーをシリアル化する最も簡単な方法は何ですか?
IIS で実行されている複雑なオブジェクト レイヤー (およびここでは焦点を当てていない WCF サービス レイヤー) を使用して、アプリケーションの中間層にキャッシュ/状態保持を導入しようとしています。キャッシング アーキテクチャとして memcached/enyim に落ち着いたため、これらのオブジェクトを効率的に (速度とスペースで) シリアル化する必要があります。
オブジェクト レイヤーには、次のような線に沿って、オブジェクト間の多くのポインターと相互依存性があります。
すべてのフィールドが非公開であることに注意してください。また、ほとんどのオブジェクトは内部にあり、多くのプロパティは読み取り専用 (設定なし) またはユーザーの観点から設定を使用する (つまり、オブジェクトを「ダーティ」にする) ため、リハイドレーションでは使用できません。キャッシュが必要なタイプが数十あります。
私は protobuf-net と msgpack の両方の外観が好きですが、既存のアーキテクチャ (そのままでうまく機能する) をできるだけ変更せずに、シリアル化をできるだけ速く行う必要があり、これらの両方のように見えます。オブジェクト階層のサポートが制限されています。私は DTO タイプのシリアル化をよく理解していますが、キャッシュ用にオブジェクトをシリアル化する正しい方法を計画するのは初めてです。これらのツールの 1 つを使用できますか? 組み込みの .NET バイナリを使用してコンストラクターを操作し、独自の条件で属性とオブジェクトを再設定するのに行き詰まっていますか?
編集:最後の質問を明確にするために、「コンストラクターを制御し、属性とオブジェクトを自分の条件で再設定できるように、組み込みの.NETバイナリを使用して立ち往生していますか?
c++ - msgpack:クラスをmember-functionにパックします
私は「msgpack」にかなり慣れていません。ユーザー定義クラスをパックしようとしています:
しかし、コンパイラ(VC 9.0)は私に言います
私が見つけた唯一の方法:
しかし、コピーを作成したくない場合はどうなりますか(たとえば、重い操作であるか、多くの追加リソースが必要です)。コピーコンストラクタなしでこれを行うことはできますか?ありがとう。
java - msgpack: C++ と Java 間のメッセージング
私は 2 つのアプリケーションを持っています (1 つは C++ で作成され、もう 1 つは Java で作成されています)。msgpack
C++ クラスをバイナリ形式にパックするために使用します。次に、これを Java 側に送信します。このメッセージを Java でアンパックして (msgpack
あまりにも使用して)、正しい Java クラス オブジェクトを取得できるのだろうか?
次の例を検討してください。
そしてJava側:
Foo のメンバーがたくさんあるので、1 つずつパックしたくありません。
前もって感謝します。
javascript - Node.jsバッファーを含むMessagePackオブジェクトのエンコード
node-msgpackを使用して、マシン間で受け渡されるメッセージをエンコードおよびデコードしています。私ができるようにしたいことの1つは、生のBufferデータをオブジェクトにラップし、それをMessagepackでエンコードすることです。
上記の例では、オブジェクトにネストされたバッファの生のバイトに対して整合性チェックを実行したいと思いました。だから、そのbuf
ように得られました:
完璧な世界では、私は得たでしょう:
代わりに、私はいくつかの乱数で終わります。もう少し掘り下げてみると、次のような好奇心があります。
最初のバイトが問題です。運が悪かったので、別のエンコーディングを使用してみました。ここで何が起こっているのでしょうか。また、問題を回避するために何ができるでしょうか。
編集:
元々、これbuf
はmsgpack自体で生成したバッファーであり、データを二重にパックしていました。混乱を避けるために、画像を読み取って取得した別のバッファに置き換えたところ、同じ問題が発生しました。