问题标签 [msgpack]
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.
compression - MsgPack 用于压缩 json 数据,为什么不使用 gzip/deflate?
我听说了一些关于MsgPack可用于压缩 json 消息的信息,但我有一个问题,为什么不简单地使用 Gzip/Deflate 而不是 MsgPack?我认为调试也更好。
android - Android上的MessagePack序列化对象错误
在android上使用messagepack,可以序列化/反序列化一个类,但不是绝对正确的。
简单的测试类:
测试代码:</p>
运行后“byte[] b = msgpack.write(a);” 在 android 上,输出字节数组 b[] 不正确(与 java 相比)
bson - BSON 到消息包
我面临的问题是 BSON 带有 ObjectId 和 Timestamp ,它们在 Messagepack 中不受支持,并且无法为 Messagepack 定义自定义序列化程序(至少据我所知)。
我写了一段 python 代码来比较 pymongo 的 BSON 和 msgpack。在没有太多优化的情况下,我可以实现 300% 的性能提升。那么,有没有办法将 BSON 转换为 Messagepack?
c - 为什么 MsgPack 键是 msgpack_object 类型的?
在 MsgPack 的 C API 中,为什么键(例如 msgpack_object_kv 的键字段)是 msgpack_object 类型的?
https://github.com/msgpack/msgpack-c/blob/master/src/msgpack/object.h
为什么他们不只是 msgpack_object_raw?它们可以是任何类型吗?
c - 解压的 msgpack_object 是否依赖于解压的缓冲区?
根据我看到的奇怪行为,我猜测以下代码无效。我的问题是:下面创建的 msgpack_object 是否依赖于 msgpack_sbuffer?也就是说,一旦调用 msgpack_sbuffer_free(buffer),msgpack_object(在 msg.data 中)是否无效?如果是这样,在这种情况下获得没有依赖关系的堆分配 msgpack_object 的正确方法是什么?
python - Sockjs-tornado 和 rpc
我正在尝试将 sockjs-tornado 服务器添加到我的站点,并且一切正常,直到我决定通过 MsgPack(使用 msgpack-rpc-python)将它连接到我的其他应用程序。现在可以使用 sockjs 服务器或者 RPC 服务器。取决于它们中的哪一个首先开始循环。
我认为我需要为他们两个使用一个 tornado.ioloop。但不知道如何实现。或者可能有另一种方法将 rpc 添加到龙卷风服务器?
这是带有 msgpack-rpc-python 的 sockjs-tornado 示例代码:
`
欢迎任何建议或示例!
.net - 在 .NET 中序列化复杂对象层以进行缓存的最简单方法是什么?
试图在 IIS 下运行具有复杂对象层(和 WCF 服务层,这里不是重点)的应用程序的中间层引入缓存/状态持久化。已经选择 memcached/enyim 作为缓存架构,现在需要为它高效地序列化这些对象(速度和空间)。
对象层在对象之间有很多指针和相互依赖关系,大致如下:
请注意,所有字段都是私有的。另外值得注意的是,大多数对象都是内部的,许多属性要么是只读的(没有设置),要么从用户角度使用设置(即使对象“脏”),因此不能用于补液。我有几十种需要缓存的类型。
我喜欢 protobuf-net 和 msgpack 的外观,但我需要尽可能快地完成序列化,尽可能少地改变现有架构(效果很好),而且看起来两者都是对对象层次结构的支持有限。我很了解 DTO 类型的序列化,但是对于规划正确的方法来为缓存序列化对象是新手。这些工具之一可以为我工作吗?我是否坚持使用内置的 .NET 二进制文件来使用构造函数,并根据自己的条件重新填充属性和对象?
编辑:只是为了澄清最后一个问题——如果它读作“我是否坚持使用内置的 .NET 二进制文件以便我可以控制构造函数并按照我自己的条件重新填充属性和对象?
c++ - msgpack:将类打包到成员函数中
我对“msgpack”很陌生。我正在尝试打包用户定义的类:
但是编译器(VC 9.0)说我
我发现的唯一方法:
但是,如果我不想制作副本(例如,操作繁重或需要许多额外资源)怎么办?我可以在没有复印机的情况下做到这一点吗?谢谢。
java - msgpack:C++ 和 java 之间的消息传递
我有两个应用程序(一个用 C++ 编写,另一个用 Java 编写)。我用来msgpack
将 C++ 类打包成二进制格式。然后我将它发送到 Java 端。我想知道我是否在 java 中解压缩此消息(msgpack
也使用)我得到正确的 Java 类对象吗?
考虑以下示例:
和Java方面:
我不想把 Foo 的成员一个一个打包,因为我有很多。
提前致谢。
javascript - 编码包含 Node.js 缓冲区的 MessagePack 对象
我正在使用node-msgpack对机器之间传递的消息进行编码和解码。我想做的一件事是将原始缓冲区数据包装在一个对象中并使用 Messagepack 对其进行编码。
在上面的示例中,我想对嵌套在对象中的缓冲区的原始字节进行一致性检查。所以buf
是这样获得的:
在一个完美的世界里,我会得到:
相反,我最终得到了一些随机数。再深入一点,我最终会产生以下好奇心:
第一个字节是问题所在。我尝试使用不同的编码但没有运气。这里发生了什么,我能做些什么来规避这个问题?
编辑:
最初,这buf
是我使用 msgpack 本身生成的缓冲区,因此对数据进行了双重打包。为避免混淆,我将其替换为通过读取图像获得的另一个缓冲区,这引发了同样的问题。