问题标签 [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 回答
2433 浏览

java - MessagePack Java 序列化为数组

Java中的MessagePack官方实现将公共字段序列化为数组是否可以接受?

这个“像 JSON”在哪个宇宙中?

我的情况:我有一个像这样的简单类:

我只是在序列化

并将其发送到用 NodeJS 编写的远程服务器。

Node JS 可以轻松解压,

这意味着 MessagePack 与 JSON 完全不同,因为它将 Java 对象解析为数组,然后仅按字母顺序重新填充它们!

有没有人有一个不包括映射我拥有的每个对象的解决方案?(也 HashMap 不能被 Node 解包,这意味着 messagePack 不是跨平台的,因此,重复,像 JSON 一样注意)

0 投票
3 回答
2560 浏览

javascript - 使用牛仔和 MessagePack 通过 websocket 发送二进制数据

我正在尝试通过 WebSocket 从 Cowboy 向浏览器发送 MessagePack 编码的消息,但接收到的数据始终为空或无效。我能够将二进制数据从 JS 发送到我的牛仔处理程序,但反之则不行。我正在使用带有官方msgpack-erlang应用程序的 Cowboy 1.0.4。我也msgpack-lite用于我的浏览器内 javascript。

例子:

websocket_handler

JS:

浏览器在 msgpack.min.js 中返回错误:

如果我尝试将原始 event.data 输出到控制台,这就是我得到的:

由于某种原因,它似乎是空的。我对erlang和都是新手msgpack,不知道出了什么问题。谢谢你的帮助!

0 投票
1 回答
651 浏览

python-2.7 - 互操作性问题 python2 python3

两个 uService 通过消息队列 (RabbitMQ) 进行通信。数据使用message pack进行编码。

我有以下场景:

  • python3-> python3:工作正常
  • python2 -> python3:编码问题

编码通过以下方式完成:

解码:

在 python3 中进行编码和解码时,我得到:

在 python2 中进行编码并在 python3 上进行解码时,我得到:

为什么数据没有“完全”解码?在发送方/接收方上应该怎么做才能实现python2和python3的兼容?

0 投票
0 回答
241 浏览

parsing - MessagePack:有效的 msgpack 结构是否有“语法”?

MessagePack 规范可帮助您了解可用的数据类型及其二进制表示。但是,我找不到有关必须用于构建有效 msgpack 结构的“语法”的信息(因为它不是文本格式而是二进制格式,所以术语“语法”可能不准确)。我特别想知道是否对 msgpack 结构中的“顶级”元素有任何要求。尽管指定了 JSON 的语法,但它基本上与前一段时间发生在 JSON 中的问题类似。

使用 msgpack,是否可以在顶层使用原始类型(Int、Boolean..),还是必须将所有内容封装在映射/数组中?是否可以在顶层有多个元素(例如两个数组,不是嵌套的,而是“彼此相邻”)?

0 投票
1 回答
886 浏览

android - kotlin 中的文件字节错误。如何正确转账?

我想用 tcp 客户端将文件传输到服务器,但图像文件错误。

我的客户代码是

我的服务器代码是

我要传输的文件是 在此处输入图像描述

但是传输后,服务器上的图像是这样的。 在此处输入图像描述

如何正确传输此文件?

0 投票
1 回答
200 浏览

c# - MessagePack:禁用整数压缩

我正在使用MessagePack for CLIhttps://github.com/msgpack/msgpack-cli)库,我想知道是否可以禁用整数压缩。

例如:

这迫使我显式地转换集合中的每个项目以便将其转换回int[],这非常耗时。

0 投票
1 回答
616 浏览

json - MessagePack、Protobuf 和 JSON 有什么区别?谁能告诉我什么时候用

我需要了解 - 消息包 - 协议缓冲区 - JSON 之间的区别

0 投票
0 回答
249 浏览

c - 如何使用 MessagePack (Mpack) 在 C 中编写序列化程序

我想编写一个序列化器应用程序,它将任何类型的 C 数据结构编码为 MessagePack 格式。我见过的所有示例都显示了使用 MPack 对诸如此类的已知结构进行编码:

但我想要的是能够编码任何 C 数据结构。例如,如果我有以下内容:

以编程方式,我怎么知道前 4 个字节代表一个 int,以便我可以调用 mpack_write_int 函数开始将 int 打包成消息包格式?

0 投票
1 回答
191 浏览

servicestack - 使用 servicestack MsgPack 客户端时无法反序列化服务响应

在使用 servicestack MsgPackServiceClient 时尝试反序列化来自服务的响应时出现以下错误。

例外:{“无法反序列化‘System.Int32’类型的成员‘test1’。”}

InnerException : {“无法从偏移量 1 中的类型 'FixedRaw'(0xA4) 转换 'System.Int32' 类型值。”}

服务器端Servicestack服务:

服务器端 DTO:

客户端代码:

客户端dto:

客户端我们不需要域属性。当我们尝试获取值时,会引发上述异常。

当我们添加域属性时,它工作正常并且我们能够获取值。

我们真的需要拥有所有属性吗?

请帮我解决这个问题。谢谢你的时间。

0 投票
2 回答
753 浏览

protocol-buffers - MessagePack / Protocol Buffers 的传输协议是什么?

有几个用于数据序列化的库,如 MessagePack、Protocol Buffers 等。

但是传输协议应该是什么?它应该是 HTTP REST 还是其他?

对我来说,使用 REST 没有多大意义,因为 HTTP 有开销。因此,如果我们决定优化速度并使用 ProtoBuff,那么只进行一半并仅优化序列化而不优化传输似乎是不合逻辑的。