问题标签 [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格式序列化

//使用 MEMCACHED 保存会话

//端口memcached正在运行

我正在尝试从我使用的节点访问 php 会话,JSON.parse但是它总是会出现无效字符错误。

如果有人有任何想法,我将不胜感激!

授予

0 投票
1 回答
783 浏览

ruby - MessagePack POST 的 Ruby/Rack/Sinatra 编码

我正在尝试使用 Sinatra 和 MessagePack 构建一个 API,但我要自己开枪了 :)

所以我使用 curl 来做一个 POST:

现在在 Sinatra 我只是这样做:

这会导致以下错误:

因为 request.body.read 正在返回:

我尝试了所有我能想到的东西,比如 force_encoding(Encode::BINARY) 和其他愚蠢的东西。而且我不确定是谁导致了 ruby​​、rack 或 sinatra 问题?

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 是一个常量 int,设置为 1。

使用当前的序列化对象

我明白了

这是为什么?

0 投票
1 回答
1141 浏览

c# - 在 C# 中解压 Python 生成的 MessagePack 会导致“Unpacker is not in the array header”

我正在尝试通过 ZeroMQ 从 Python 代码向 C# 发送消息。我在 Python 中使用以下数据结构:

尝试使用 C# 解压缩它,使用以下代码:

它导致此错误:

我尝试过简化数据结构,但仍然无法正确处理。也许我对 MsgPack 的使用存在缺陷。提前感谢您的帮助。

0 投票
1 回答
621 浏览

c# - 消息包:不要将 System.Boolean (binary:0x0) MessagePackObject 转换为 System.Int64

在将打包消息解压缩到对象时出现以下错误。此错误在本地开发环境(windows 7)上没有注意到,但在服务器环境中发生。(服务器 2008)。

已编辑:有关该问题的更多详细信息:我们有两个环境(本地和中央)。我们正在尝试通过 TCP 套接字从本地发送一个转换为消息包的对象,然后解包回中央的对象。

我们尝试在两台不同的 Windows 7 机器上部署本地应用程序和 Central Tcp 侦听器,并且在 Central 上打包数据没有问题。但是当我们尝试在 Windows7 机器上部署 Local 并在 Windows 2008 服务器上部署 Central 时(这将是实际的生产场景),我们遇到了这个问题。在这两种情况下,我都通过测试应用程序使用相同的数据打包和解包相同的对象。我们仍然无法找到问题的根本原因。

我们错过了什么吗?

0 投票
1 回答
770 浏览

json - 如何将案例类转换为类?

我有一个case class Person(name:String, id:Int)出于序列化原因 ( MessagePack),我需要将其转换为class. 有没有一种简单/优雅的方法来做到这一点,不需要太多的样板或创作?

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

0 投票
2 回答
285 浏览

node.js - perl 中的 msgpack 与 node.js 有何不同

有谁知道为什么 perl 的 MessagePack 给出的结果与 Node.js 中的不同。

我正在尝试解压缩使用 Perl 的消息包创建的 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 个字节的大小。

我不知道为什么,我已经尝试研究了几天但没有找到。

提前致谢,

更新:SocketReceivingHandler.java:

event.getData() ==> 从套接字读取的数据并进入 channelRead 方法。

0 投票
3 回答
2610 浏览

c - 将空终止字符串与C中的非空终止字符串进行比较

我使用的反序列化库(messagepack)不提供以空值结尾的字符串。相反,我得到一个指向字符串开头的指针和一个长度。将此字符串与正常的以空字符结尾的字符串进行比较的最快方法是什么?

0 投票
0 回答
571 浏览

protocol-buffers - 支持在 ElasticSearch 中编码/解码 json 请求/响应

我可以在 Elasticsearch 中有一个自定义的 Protobuf/MessagePack 编码/解码模块,以便可以对来自我的客户端的请求和来自服务器的响应进行编码。