問題タブ [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.
c++ - cpp は初めてですが、メッセージパックを実行するにはどうすればよいですか?
Visual Studio と c++ は初めてです。c/cpp 用の MessagePack をダウンロードし、ファイル「msgpack_vc8.vcproj」を開いて、一連の c ファイルと hpp ファイルを含む Visual Studio プロジェクトを開きました。
ここで、Message Pack がデータをシリアライズおよびデシリアライズする方法の例を見てみたいと思います。
そこで、main という名前の新しい cpp ファイルを作成し、ここに示す例をコピーしました。
ソリューションを構築し、実行しようとすると、次のウィンドウがポップアップ表示されます。
ファイルの実行方法がわかりません。そこで何をすればよいですか?
c# - System.TypeLoadException: MessagePack の使用時にアクセスが拒否されました
MessagePack を使用してオブジェクトをシリアル化しようとしていますが、シリアル化を実行しようとするたびに Unhandled Exception エラーが発生します。
これが私のコードです:
CSCDP_TCPClient.cs
Script.cs:
そして、私はそれを主に次のように呼んでいます:
そして、ここに私が得ているエラーがあります:
D: ドライブに Visual Studio プロジェクトがあり、アクセス許可が正しいことを確認しました。コンパイル済みのすべての実行可能ファイルと同じディレクトリに MessagePack.dll があり、参照がリンクされています。不足している可能性のあるものはありますか?
c++ - メッセージ パック - 表現された文字列を見つける方法は?
メッセージパックのウェブサイトで:
上記の「Try」リンクがあり、データを表す文字列の長さを示しています。
メッセージ パック git ハブに示されている例に基づいた小さなスクリプトがあります。
うまく機能しますが、パックされたデータの背後にある文字列を取得したいと思います。「トライ!」のように。リンク。どうすれば見つけられますか?
ありがとうございました
c++ - MsgPack を使用して ZeroMQ (zmqpp) 経由でデータを送信すると、「msgpack::v1::insufficient_bytes」エラーが発生する
zmqppを使用して PUB/SUB 接続を作成し、ヘッダーのみの C++11 バージョンのmsgpack-cを使用してパブリッシャーからサブスクライバーにデータを送信したいと考えています。
int64_t
サイト運営者は 2 つの数字 --header_1
とheader_2
-- の後にstd::vector<T>
-- --を送信する必要があります。data
ここで、は組み合わせT
によって決まります。(header_1, header_2)
msgpack と zmqpp を組み合わせる方法の例はそれほど多くないので、私が思いついたアイデアは、 を使用して 3 部構成のメッセージを送信することzmqpp::message::add/add_raw
です。各パーツは、msgpack を使用してパック/アンパックされます。
パブリッシャーは、次のように 1 つのデータ パーツをパックします。
そして、レシーバーは次のように展開します。
コードを実行すると、サブスクライバー側で次のエラーが発生します。
また、zmqpp はadd()
3 回しか呼び出していないにもかかわらず、5 部構成のメッセージを生成したようです。
Q1: データを正しくパック/アンパックしていますか?
Q2: これは、 zmqpp を使用して msgpack バッファーを送信するための適切な方法ですか?
コードの重要な部分は次のとおりです。
出版社
購読者
編集:問題解決: @Jens が指摘したように、データをパッキング/送信する正しい方法は、zmqpp::message::add_raw()
c# - .Net 2.0 での MsgPack シリアライゼーション
.NET 2.0 アプリケーション、.NET 4.0 アプリケーション、および Android アプリケーションからバイト データを交換するために、高速なシリアライゼーションを使用したいと考えています。 図式
問題は、NuGet MessagePack パケットが .NET 4.0 専用であり、.NET 2.0 アプリケーションでデータをシリアル化できないことです。私は、Android アプリケーションに問題はありません。
c# - MessagePack RPC C# - サーバー側
のサーバー実装を使用しようとすると問題が発生しますMessagePack RPC
。会社のクライアントから提供された Python コードに基づいて、クライアント用とサーバー用の実装を 1 つずつ作成しました。
サーバーの実装は Python によって消費される必要がありますが、私が見る限り、それは問題にはなりません。
サーバーの実装:
クライアントの実装:
クライアントがサーバーに接続できず、そこにメソッドが表示されません。エラーは「操作が存在しません」です。
誰にも手がかりはありますか?
ありがとうございました!!
c# - リストがすべての新しいアイテムを強制的に複製するのはなぜですか?
プロジェクトからコードを大幅に削減したので、コピーして貼り付けることができますが、コンソール プロジェクトでデバッグする場合は、nuget パッケージが必要になります: Install-Package MsgPack.Cli。
わかりました、以下で問題のある行についてコメントしました。知りたいのは、リストが _outgoingMessageQueue キュー内で重複を強制している理由だけです。これはある種のキャプチャされた変数の難問ですか? できるだけ詳しく教えてください
うまくいかない場合は、投票して注目を集めてください。ありがとう
java - メッセージパックでプリミティブ配列を効率的にシリアライズするには?
メッセージ パック形式は、型識別子と実際のデータを結合するコンパクトな方法で小さな整数または短い文字列をシリアル化できます。
シリアル化するデータにプリミティブ配列 (Java double[] など) が含まれている場合、メッセージ パックのシリアル化は、型がすべての定数であると見なすのではなく、配列内の値ごとに 1 バイトを浪費して型を指定するようです。配列内の値。
相互運用性を維持しながら、この動作を回避する方法はありますか? (バイナリ文字列を使用してアプリケーションで変換する以外)