問題タブ [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 投票する
1 に答える
393 参照

c - Libcurl 経由で受信した C の大きな Metasploit Framework メッセージで MessagePack のアンパックが失敗する

まず、msgpack-c を使用して適切にデータを解凍して抽出するにはどうすればよいですか? を使用しました。MessagePack 自身の C API ドキュメントはあまりよくないので、データを適切にアンパックする方法を見つけます。ただし、http: //wiki.msgpack.org/display/MSGPACK/QuickStart+for+C+Language も問題ありません。

metasploit へのほとんどの API 呼び出しでコードが正常に機能していることに注意してくださいmodule.exploits。失敗するのは大きなもの (約 16KB が返される) だけです。

私の最後の質問のように、私は仕事をしているので、実際のコードを投稿することはできません. 次のスニペットで、私のコードが何をしているかを正確に示そうとします。

上記にはメモリリークがあることは承知しています。これは単なる例であるため、適切な破棄/解放をすべて入力する気がしませんでした。AUTH_TOKENコードのその時点で問題がないため、エラーではないはずなので、実際にどのように取得されるかの部分を省略しました。また、curl リクエスト コードの一部を関数に最適化できることも認識しています。

ruby gem はこの同じ API 呼び出しで問題なく動作しますが、標準の msgpack ライブラリを使用せず、バイナリ解析自体を行う C 拡張であることに注意してください。

stringbuffer の代わりにリターンから生データをファイルに書き込むと、手動で調べると、正しい msgpack 形式のように見えます。

ここで何がうまくいかないのですか?gdb を使用して問題を追跡し、Ruby C 拡張機能を使用できるライブラリに変えることを検討します。うまくいけば、それは単純なものであり、あなたの1人がそれを理解するでしょう!

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

c# - MessagePack のプロパティ タイプとしてインターフェイスを使用してオブジェクトをシリアル化する

MessagePack を使用して、インターフェイス型のプロパティを持つオブジェクトをシリアル化しようとしています。を呼び出すと、インターフェースに対してシリアライザーが定義されていないというPackメッセージがスローされます。SerializationException

コード例:

IDummyInterface に使用するシリアライザーを MessagePack に指示し、DummyObject として機能するように指示できますか?

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

c - Cでのmsgpackパッキングchar配列

msgpack_pack_raw および msgpack_pack_raw_body を使用して unsigned char 配列を送信するにはどうすればよいですか? さらに重要なのは、それを取得 (アンパック) する方法です。私がやったことは次のとおりです。

そしてレシーバー部分には次のものがあります:

しかし、「int length = (*p).via.raw.size;」を実行すると、seg fault がスローされます。

理由はありますか?

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

c++ - MessagePack C++ およびライブラリ クラス

このから、独自の構造をシリアライズできることは明らかです。外部 (C 言語) ライブラリから構造をシリアル化する必要があります。変更できない構造体/クラスで msgpack をどのように使用しますか?

このようなちょっと、私がやりたいことの単なる概念:

より明確にするために、回避する必要があるエラー/usr/include/msgpack/object.hpp:218:4: error: no member named 'msgpack_pack' in 'Foo'はリンカーからのものです。

注: C++ で msgpack をサードパーティ (標準ライブラリではなく) のクラスと構造体で使用できない場合は、それを処理できるシリアル化ソリューションを見つける必要があります。また、シリアル化するサードパーティ クラスごとに包括的なラッパーを作成する必要がある場合、それは不可能だと思います。コードを他のアップストリームの変更と同期する必要があるライブラリは、それを使用するだけでは役に立ちません。

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

c# - C# アプリケーションで MsgPack カスタム シリアライザーを使用する

C# で MsgPack カスタム シリアライザーを使用する際に問題が発生しています。たとえば、次のクラスがあります。

クラスAのカスタムデシリアライザーを作成しています。したがって、私のメソッドは次のようになります。

プリミティブ型ではすべてうまくいきますが、アンパッカーからクラス B のインスタンスを抽出する方法は? Wiki のドキュメントは非常に貧弱であり、MessagePack C# の実装に関するインターネット上の情報はあまりありません。どんな種類の助けやアドバイスも大歓迎です。