問題タブ [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.

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

serialization - MessagePack:高速クロスプラットフォームシリアライザーとRPC-経験を共有してください

高速でシンプルで安定したRPCライブラリを探していたところ、非常に優れていると思われるMessagePackプロジェクトに出くわしました。また、活発な開発が行われています。

何か使ったことがあれば、経験を教えてください。

PSこの質問はコミュニティウィキであるべきだと思います

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

c++ - ユーザー定義クラスのシリアル化、C++ および msgpack


私はmsgpackを試したばかりです。ポインター (内部ツリー、ハッシュなど) といくつかの基本型属性を含むオブジェクト (ユーザー定義クラスのインスタンス) をシリアル化する必要があります。

これまでは、msgpack.org wiki の簡単な例で行われていたことを行うことができました。クラスをmsgpack::sbufferにシリアル化し、バッファを読み取ってシリアル化を解除します。

しかし今、そのバッファをファイルに送信するか、シリアル化の結果をファイルに送信してから、シリアル化を解除したいと考えています。
誰かがそれを行う方法についてのヒントを教えてもらえますか? 私はそれに飽きるほどブラウジングして読んでいます:)

私のコードは次のようになります。

みんなありがとう!
ベスト、
ルチュクス。

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

serialization - パフォーマンスの高いエンティティのシリアル化: BSON vs MessagePack (vs JSON)

最近、私はMessagePackを見つけました。これは、Google のProtocol BuffersJSONの代替バイナリシリアル化形式であり、どちらも優れています。

また、データを格納するために MongoDB で使用されるBSONシリアル化形式もあります。

誰かが BSON と MessagePack の違いと欠点/利点を詳しく説明できますか?


パフォーマンスの高いバイナリ シリアル化形式のリストを完成させるために、Google の Protocol Buffers の後継となるGob もあります。ただし、言及されている他のすべての形式とは対照的に、これらは言語に依存せず、Go の組み込みリフレクションに依存しており、少なくとも Go 以外の言語用の Gobs ライブラリもあります。

0 投票する
3 に答える
2660 参照

objective-c - Objective-C の MessagePack 実装

Objective-C 用のMessagePackプロトコルの実装はありますか?

そうでない場合、C 実装を Objective-C 型にブリッジする例はありますか?

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

c++ - MsgPackのfree()/deleteが一致していません

プログラムでMsgpackを使用しようとしています。誰かがmsgpackwikiの次の例(ストリーミング機能)を手伝ってくれますか:http ://wiki.msgpack.org/pages/viewpage.action?pageId = 1081387そして、ストリーミング機能でこのライブラリを使用するより正しい例を提供してください。

Valgrindは、次のエラーがあると言っています。

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

http - msgpackのMIMEタイプ?

msgpackは、データシリアル化の非常に新しい形式である場合、非常に高速であるように思われます。認識されたMIMEタイプはまだありますか?そうでない場合は、暫定的に何を使用する必要がありますか?

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

c++ - C++ MsgPack: リンカ エラー

メッセージ パック (http://msgpack.org/) のサンプル コードをコンパイルしようとしていますが、これらのエラーが発生し続けます。

g++ -o"MsgPack2" ./src/MsgPack2.o -lmsgpack -lmsgpackc

msgpack::rpc::server::listen(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short)' ./src/MsgPack2.o: In functionループ への未定義の参照': mp::wavy::loop::loop()' ./src/MsgPack2.o: In function/usr/local/include/msgpack/rpc/loop.h:30: ベース への未定義の参照': /usr/local/include/msgpack/rpc/server.h:59: msgpack::rpc::server::server(msgpack::rpc::loop)' /usr/local/include/msgpack/rpc/server.h:59: undefined reference to msgpackへの未定義の参照::rpc::server::serve(msgpack::rpc::dispatcher*)' /usr/local/include/msgpack/rpc/server.h:59: msgpack::rpc::server::~server()' ./src/MsgPack2.o: In function~base への未定義参照': /usr/local/include /msgpack/rpc/server.h:64: msgpack::rpc::server::~server()' ./src/MsgPack2.o: In function myserver::dispatch(msgpack::rpc::request)への未定義の参照 ': /mnt/eoh/workspace/MsgPack2/Debug/../src/MsgPack2.cpp:14 : msgpack::rpc::request::method()' /mnt/eoh/workspace/MsgPack2/Debug/../src/MsgPack2.cpp:18: undefined reference tomsgpack::rpc::request::params()' への未定義の参照./src/MsgPack2.o: 関数msgpack::rpc::loop_util<msgpack::rpc::session_pool>::run(unsigned long)': /usr/local/include/msgpack/rpc/loop_util.h:34: undefined reference to内 msgpack::rpc::session_pool::get_loop()' /usr/local/include/msgpack/rpc /loop_util.h:34: への未定義の参照mp::wavy::loop::run(unsigned long)' ./src/MsgPack2.o: In functionvoid msgpack::rpc::request::call(int&, msgpack::type::nil&)': /usr/local/include/msgpack/rpc/request.h:119: msgpack::rpc::request::is_sent() const' /usr/local/include/msgpack/rpc/request.h:122: undefined reference tomsgpack::rpc への未定義の参照:: request::get_msgid() const' /usr/local/include/msgpack/rpc/request.h:125: msgpack::rpc::request::send_data(msgpack::sbuffer*)' ./src/MsgPack2.o: In functionvoid msgpack::rpc::request::call(msgpack::type::nil&, unsigned char&への未定義参照)': /usr/local/include/msgpack/rpc/request.h:119: msgpack::rpc::request::is_sent() const' /usr/local/include/msgpack/rpc/request.h:122: undefined reference tomsgpack::rpc::request::get_msgid() への未定義の参照 const' /usr/local/include/msgpack/rpc/request. h:125: msgpack::rpc::request::send_data(msgpack::sbuffer*)' ./src/MsgPack2.o: In functionvoid msgpack::rpc::request::call, std::allocator への未定義の参照 >

(msgpack::type::nil&, std::basic_string, std::allocator >&)': /usr/local/include/msgpack/rpc/request.h:119: msgpack::rpc::request::is_sent() const' /usr/local/include/msgpack/rpc/request.h:122: undefined reference tomsgpack::rpc::requestへの未定義の参照::get_msgid() const' /usr/local/include/msgpack/rpc/request.h:125: msgpack::rpc::request::send_data(msgpack::sbuffer*)' ./src/MsgPack2.o: In function__shared_count への未定義の参照': /usr/include/c++/4.5/tr1/shared_ptr.h:121: への未定義の参照 mp::wavy::loop::~loop()' ./src/MsgPack2.o: In function std::tr1::_Sp_deleter::operator()(mp::wavy::loop*) const': /usr/include/c++/4.5/tr1/shared_ptr.h:99: `mp::wavy への未定義参照::loop::~loop()' collect2: ld が 1 の終了ステータスを返しました make: * [MsgPack2] エラー 1

コードは次のとおりです。

誰かに何かアイデアがあれば、それは大歓迎です。

よろしくお願いします。

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

c - `msgpack_pack_int()`マクロに渡されたカウンター変数はインクリメントしません

zmqmsgpackを使用しているこの非常に単純なCプログラムを実行しようとすると、非常に奇妙な問題が発生します。

に問題はありませんがserver.cclinet.c:39これがmsgpack_pack_int (&mpkg, i);あり、の値は、反復ごとに変化しないiように取得されているようです。0私はさまざまなことを試しましたが(たとえば、ポインターを作成して iそれを使用したり、関数に分割したりするなど)、何も役に立たないようです。それはマクロであることがわかりますmsgpack_pack_int()が、なぜそれがそのような振る舞いを導入するのでしょうか、そしてそれを克服するために何ができるでしょうか?この種のマクロの動作を変更する可能性のあるフラグはありますか(インライン関数に展開されるのがわかります)... -Werror -Wall、with gcc、およびを試しclangましたが、警告も表示されません;(*

私はそれをデバッグしてみてi、期待通りにインクリメントしました。

私もこれを試しました、そしてそれはとにかく同じことをするでしょう:

私は違うはずの何かを試したことさえありますが、ここでも運がありません-

なぜこれが起こるのか誰にも分かりますか?

更新1:また、最適化フラグなしでmsgpack ライブラリ自体を再コンパイルしましたが、動作も変更されませんでした。

アップデート2: gitリポジトリからmsgpackをインストールしても、同じ問題が発生します。

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

java - AndroidでMessagePackを使用する

誰かがMessagePackAndroidアプリで使用しようとしましたか?
出来ますか?からJarを使用しようとしmsgpack-javaましたが、次の例外が発生しました。

私が使用するコードは非常に単純です

私のディレクトリ にはjavassist.jar、、、msgpack-0.5.2.jarslf4j-api-1.6.2.jarあります。slf4j-jdk14-1.6.2.jarlib

私のサーバーアプリケーションでは、このコードは同じライブラリで正常に機能します。

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

javascript - msgpack の Sinatra バイナリ リターン -- 文字セットの問題/文字がどこかで変換されていますか?

現在、ルビー シナトラ サービスからmsgpack http://msgpack.org/を返し、javascript を使用して解析しようとしています。ここにあるjavascriptライブラリを使用しています: https://github.com/uupaa/msgpack.js/ (ただし、この質問には関係ないと思います)。

msgpack gem を使用して次のことを行う sinatra サービスがあります。

私は次のようにそれを読むJavaScriptを持っています:

問題は、データを取り戻すと、多くの文字がサーバー側のバージョンから0xfffd.

次に、2 つのバリアントを試しました。

サーバー側で。前者は何も変更しませんでしたが、後者は近づき、1 つの例外を除いてほとんどのメッセージは変更されませんでした: 最初の文字が から に変換され0x82ました0x201a

まだ試していない、これを修正する文字セット/コンテンツタイプの組み合わせがあると思います。いつでも Base64 にフォールバックすることもできますが、最初に Base64 なしで機能させるには何が必要かを理解したいと思います。