問題タブ [messagepack]

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 に答える
714 参照

php - msgpack / messagepackがPHPをシリアライズしていない

ノードからmemcachedに保存されているphp経由で設定されたセッション変数にアクセスしようとしています。

保存されたセッション データの形式を JSON にしたいです。

私はmsgpackを見つけましたが、それは仕事をするように見えましたが、ノード内のセッションデータの console.log は、項目が少しずつ区切られていることを明らかにしていますか? マーク:

���user_id�1�company_id�1�fname�name�lname�lname�lactivity�S.7�login_st.... など

私のphpファイル

//適切な JSON FORMAT でシリアル化します

// MEMCACHED を使用してセッションを保存する

// memcached が実行されているポート

私が使用しているノードからphpセッションにアクセスしようとしていますJSON.parseが、常に無効な文字エラーが発生します。

誰かが何かアイデアを持っているなら、私は最も感謝しています!

許す

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

ruby - MessagePack POST の Ruby/Rack/Sinatra エンコーディング

Sinatra と MessagePack を使用して API を構築しようとしていますが、自分自身を撃とうとしています :)

したがって、curl を使用して POST を実行しています。

今シナトラで私はただやります:

そして、これは次のエラーにつながります:

request.body.read が返されるため:

force_encoding(Encode::BINARY) やその他のばかげたことなど、考えられることはすべて試しました。ルビー、ラック、シナトラのどちらが問題を引き起こしているのかわかりません。

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

python - Delphi で MessagePack を使用してユーザー定義型をシリアル化する際のエンコーディングの問題の可能性はありますか?

MessagePack を使用して Delphi でレコードをシリアル化し、ZeroMQ TCP プロトコルを使用して Python サーバーに送信しようとしています。

サーバー側でデシリアライズするのに問題があります。なぜこれが起こっているのですか?ある種のエンコーディングの問題ですか?ありがとう!

更新 #1:

私は、 www.msgpack.orgで推奨されているメッセージパック ライブラリ「QMsgPack」を使用しています。これが Delphi コードです。私のユーザー定義のレコードと列挙型:

オブジェクトをシリアル化するコード:

次に、Python サーバーで受信したバイト配列を次のように逆シリアル化しようとします。

umsgpack.unpack()を使用して、結果を次のように出力します。

これは私が画面に出力するものです:

これが役立つことを願っています!ありがとう!

アップデート #2

これは、Python 側のサーバー コードです。VDS_PACKET_VERSION は、1 に設定された定数 int です。

現在のシリアライズされたオブジェクトで

私は得る

何故ですか?

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

c# - Python で生成された MessagePack を C# でアンパックすると、「Unpacker is not in the array header」という結果になります

ZeroMQ を介して Python コードから C# にメッセージを送信しようとしています。Python で次のデータ構造を使用しています。

次のコードを使用して、C# で展開しようとしています。

次のエラーが発生します。

データ構造を単純化しようとしましたが、まだ正しくできません。おそらく、私の MsgPack の使い方に問題があるのでしょう。助けてくれてありがとう。

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

c# - Message Pack : System.Boolean (binary:0x0) MessagePackObject を System.Int64 に変換しないでください

パックされたメッセージをオブジェクトにアンパックしているときに、次のエラーが発生します。このエラーは、ローカル開発環境 (Windows 7) では通知されませんが、サーバー環境で発生します。(サーバー2008)。

編集: 問題の詳細: 2 つの環境 (ローカルと中央) があります。TCP ソケットを介してローカルからメッセージ パックに変換されたオブジェクトを送信し、中央のオブジェクトにアンパックしようとしています。

ローカル アプリケーションとセントラル Tcp リスナーの両方を 2 つの異なる Windows 7 マシンに展開しようとしましたが、セントラルでのデータのアップパックに問題はありません。しかし、Local を Windows7 マシンに展開し、Central を Windows 2008 サーバーに展開しようとすると (実際の運用シナリオになります)、この問題が発生します。どちらのシナリオでも、テスト アプリケーションを使用して、同じオブジェクトを同じデータでパックおよびアンパックしています。問題の根本的な原因をまだ見つけることができません。

何か足りないものはありますか?

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

json - How do you convert a case class to a class?

I have a case class Person(name:String, id:Int) for serialization reasons (MessagePack), I need to convert this to a class. Is there an easy / elegant way to do this which does not require too much boilerplate or creation?

case class Person(name:String, id:Int) -> class Person(name:String, id:Int)

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

node.js - msgpack は perl と node.js でどのように違うのですか?

perl の MessagePack が Node.js とは異なる結果をもたらす理由は誰にも分かりますか?

Perl の Message Pack を使用して作成された msgpack 文字列を解凍しようとしていますが、機能しません

例: 配列 ["a","b","c","d","f"]

これを Perl でパッキングすると、 ��a�b�c�d�e�f になります。

node.js にパックします (さまざまなモジュールを使用): ¡a¡b¡c¡d¡f

誰も手がかりを持っていますか

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

java - Netty NioSocketChannel がマルチスレッド書き込みで壊れたメッセージを受け取りました

Netty 4.0.25 を使用して、独自の単純なゲーム サーバーを作成しています。msgpack バイナリ データをサポートして、チャネルで送受信されるすべてのメッセージが常に msgpack によってエンコード/デコードされるようにしたいと考えています。

私のサーバー:

とクライアント:

クライアントから毎秒1000メッセージを送信してサーバーからエコーバックするまで、すべてがうまくいっているようです。サーバーは正常に動作しており、エラーはログに記録されませんでしたが、クライアントでは次のようになりました。

クライアントからサーバーに送信され、エコー バックされる各メッセージのサイズは 12 バイトです。

理由はわかりませんが、数日間調査を試みましたが、何も見つかりませんでした。

前もって感謝します、

更新: SocketRecomingHandler.java:

event.getData() ==> ソケットから読み取られ、channelRead メソッドで取得されたデータ。

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

c - Cでヌル終了文字列と非ヌル終了文字列を比較する

私が使用しているデシリアライゼーション ライブラリ (messagepack) は、null で終わる文字列を提供しません。代わりに、文字列の先頭へのポインターと長さを取得します。この文字列を通常の null で終わる文字列と比較する最速の方法は何ですか?