問題タブ [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.
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
が、常に無効な文字エラーが発生します。
誰かが何かアイデアを持っているなら、私は最も感謝しています!
許す
ruby - MessagePack POST の Ruby/Rack/Sinatra エンコーディング
Sinatra と MessagePack を使用して API を構築しようとしていますが、自分自身を撃とうとしています :)
したがって、curl を使用して POST を実行しています。
今シナトラで私はただやります:
そして、これは次のエラーにつながります:
request.body.read が返されるため:
force_encoding(Encode::BINARY) やその他のばかげたことなど、考えられることはすべて試しました。ルビー、ラック、シナトラのどちらが問題を引き起こしているのかわかりません。
python - Delphi で MessagePack を使用してユーザー定義型をシリアル化する際のエンコーディングの問題の可能性はありますか?
MessagePack を使用して Delphi でレコードをシリアル化し、ZeroMQ TCP プロトコルを使用して Python サーバーに送信しようとしています。
サーバー側でデシリアライズするのに問題があります。なぜこれが起こっているのですか?ある種のエンコーディングの問題ですか?ありがとう!
更新 #1:
私は、 www.msgpack.orgで推奨されているメッセージパック ライブラリ「QMsgPack」を使用しています。これが Delphi コードです。私のユーザー定義のレコードと列挙型:
オブジェクトをシリアル化するコード:
次に、Python サーバーで受信したバイト配列を次のように逆シリアル化しようとします。
umsgpack.unpack()を使用して、結果を次のように出力します。
これは私が画面に出力するものです:
これが役立つことを願っています!ありがとう!
アップデート #2
これは、Python 側のサーバー コードです。VDS_PACKET_VERSION は、1 に設定された定数 int です。
現在のシリアライズされたオブジェクトで
私は得る
何故ですか?
c# - Python で生成された MessagePack を C# でアンパックすると、「Unpacker is not in the array header」という結果になります
ZeroMQ を介して Python コードから C# にメッセージを送信しようとしています。Python で次のデータ構造を使用しています。
次のコードを使用して、C# で展開しようとしています。
次のエラーが発生します。
データ構造を単純化しようとしましたが、まだ正しくできません。おそらく、私の MsgPack の使い方に問題があるのでしょう。助けてくれてありがとう。
c# - Message Pack : System.Boolean (binary:0x0) MessagePackObject を System.Int64 に変換しないでください
パックされたメッセージをオブジェクトにアンパックしているときに、次のエラーが発生します。このエラーは、ローカル開発環境 (Windows 7) では通知されませんが、サーバー環境で発生します。(サーバー2008)。
編集: 問題の詳細: 2 つの環境 (ローカルと中央) があります。TCP ソケットを介してローカルからメッセージ パックに変換されたオブジェクトを送信し、中央のオブジェクトにアンパックしようとしています。
ローカル アプリケーションとセントラル Tcp リスナーの両方を 2 つの異なる Windows 7 マシンに展開しようとしましたが、セントラルでのデータのアップパックに問題はありません。しかし、Local を Windows7 マシンに展開し、Central を Windows 2008 サーバーに展開しようとすると (実際の運用シナリオになります)、この問題が発生します。どちらのシナリオでも、テスト アプリケーションを使用して、同じオブジェクトを同じデータでパックおよびアンパックしています。問題の根本的な原因をまだ見つけることができません。
何か足りないものはありますか?
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)
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
誰も手がかりを持っていますか
java - Netty NioSocketChannel がマルチスレッド書き込みで壊れたメッセージを受け取りました
Netty 4.0.25 を使用して、独自の単純なゲーム サーバーを作成しています。msgpack バイナリ データをサポートして、チャネルで送受信されるすべてのメッセージが常に msgpack によってエンコード/デコードされるようにしたいと考えています。
私のサーバー:
とクライアント:
クライアントから毎秒1000メッセージを送信してサーバーからエコーバックするまで、すべてがうまくいっているようです。サーバーは正常に動作しており、エラーはログに記録されませんでしたが、クライアントでは次のようになりました。
クライアントからサーバーに送信され、エコー バックされる各メッセージのサイズは 12 バイトです。
理由はわかりませんが、数日間調査を試みましたが、何も見つかりませんでした。
前もって感謝します、
更新: SocketRecomingHandler.java:
event.getData() ==> ソケットから読み取られ、channelRead メソッドで取得されたデータ。
c - Cでヌル終了文字列と非ヌル終了文字列を比較する
私が使用しているデシリアライゼーション ライブラリ (messagepack) は、null で終わる文字列を提供しません。代わりに、文字列の先頭へのポインターと長さを取得します。この文字列を通常の null で終わる文字列と比較する最速の方法は何ですか?