问题标签 [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.

0 投票
2 回答
937 浏览

python - 在 Solaris 10 上构建 msgpack-python - 使用仅在 c99 编译环境中有效

我正在尝试使用 Sun 编译器在 Solaris 上构建 python 模块msgpack-python,并且在 python ./setup.py 构建期间收到此错误:

我还尝试通过添加'-std=c99' 来进行编译,如下所述:Node.JS on Solaris

但最终得到:

cc: 警告:非法选项 -d=c99

任何人都对这个 stdbool.h 错误是什么以及如何解决它有任何想法。

谢谢。

0 投票
2 回答
1195 浏览

python - 如何删除python disutils包含的编译器选项(语言代码= pic32无法识别)

我正在尝试在solaris 10上使用gcc(v4.7)编译msgpack-python python模块。安装的python是2.6.8。Distutils 会自动选择我想从命令中删除的错误编译器选项 (-xcode=pic32)。

distutils 整理的完整命令是:

但产生此错误:

gcc-4.7:错误:语言代码=pic32 无法识别

然后失败。如果我删除该 -xcode=pic32 选项并手动执行上述命令,则模块编译成功。

不过,我需要能够以自动化的方式执行此操作(使用 buildfarm 来生成包)。问题是,在不修改或更改当前 python 或 distutils 的情况下,有没有办法“删除”distutils 正在拾取的这个选项,所以我可以让 python setup.py 进程适当地构建模块(即没有 pic32 选项)?

谢谢

0 投票
4 回答
12752 浏览

c++ - msgpack C++ 实现:如何打包二进制数据?

我正在使用 C++ msgpack 实现。我在如何打包二进制数据方面遇到了障碍。就二进制数据而言,我有以下类型的缓冲区:

data变量指向一个实际上是图像的数组。我想要做的是使用 msgpack 打包它。似乎没有如何实际打包二进制数据的示例。从格式规范中支持原始字节,但我不确定如何使用该功能。

我尝试使用如下字符指针向量:

但这会导致编译器错误,因为没有T=std::vector的函数模板。

我也简单地尝试了以下方法:

但这也会导致编译错误(即没有T=const char [6]的函数模板

因此,我希望有人能给我关于如何使用 msgpack C++ 打包表示为char数组的二进制数据的建议。

0 投票
2 回答
924 浏览

python - 无法从消息包中解码 python 中的加密字符串(Ruby openssl)

我无法对通过消息包从套接字连接获得的一些数据进行解码,并因此对其进行解密。我从 UTF-8 中的 Ruby on Rails Web 应用程序中获取字符串,并使用 messagepack 将其全部捆绑并使用套接字将其发送到 python 服务。其他数据很好:字符串、数字、数组等。但是我的加密密码被破坏了。

https://github.com/msgpack/msgpack/issues/15这个讨论建议强制使用 ascii,我在 rails 代码和 python 中都这样做了。如果我在 ruby​​ 中强制使用 ascii 而在 python 中什么也不做,我会在字符串中得到垃圾,但最后我有正确的未加密密码。如果我尝试在我的 python 脚本中强制使用 ascii,我会收到解码错误

加密是使用公钥/私钥完成的(Python 中的 Crypto.PublicKey RSA,ruby 中的 openssl)。我可以在每个脚本中很好地解密和加密(而不是通过消息包通过套接字发送)

有什么想法吗?

编辑:
经过一些实验和思考后,我意识到密码出来就好了这一事实很有趣。问题是字符串开头的多余垃圾。我只是不知道它来自哪里......或者截断它是否安全。

0 投票
1 回答
86 浏览

python - 为 Ubuntu 创建调试版本的 python 包 python-msgpack

我需要一个可以与 python2.7-dbg 一起使用的消息包版本。我将如何创建一个?

作为参考,我通过 github https://github.com/msgpack/msgpack-python上的一个问题询问了这里的一些上下文python-dbg 在调试时找不到 Py_InitModule4

0 投票
3 回答
836 浏览

multithreading - MessagePack 模板查找导致 WebLogic 中的线程卡住?

我们在 WebLogic 11g上0.6.6的 Grails 中使用 MessagePack for Java来序列化字符串数据......2.0(10.3)

我们在 WebLogic 中看到的问题是大量 STUCK 线程,因此我们转储线程堆栈并发现一些线程卡在org.msgpack.template.TemplateRegistry.lookup(TemplateRegistry:198),请参阅下面的转储。我们确信我们的代码没有引入这个问题,因为在上面的示例中,很明显我们正在MessagePack.pack()以线程安全的方式使用。查看TemplateRegistry.java 的第 198 行lookup()它是同步的,但我们不确定它为什么会导致线程卡住。

0 投票
1 回答
4216 浏览

c - 消息包 C API

在查看 MessagePack 的 C API 时,有许多函数可以根据类型适当地序列化(打包)数据:msgpack_pack_uint8, msgpack_pack_int32, ...

API 中似乎没有等效的调用来解包数据。 msgpack_unpack_next返回一个msgpack_object。这些对象仅具有粗粒度的类型(最大的类型:int64、double、...),基于包含的枚举。

我在这里错过了什么吗?是否期望使用粗对象然后进行投射?

应该如何正确拆包?

此外,是否有任何好的文档或使用示例?网站上的那些都是微不足道的。

0 投票
1 回答
549 浏览

actionscript-3 - 使用 messagepack 和 as3 序列化对象

这是一个非常简单的问题,但找不到任何文档。

我有一个简单的课程:

我想用这个序列化它:

但我收到一个错误:

如何让 MessagePack 知道 User 类是什么,如何序列化它?

0 投票
1 回答
2226 浏览

ruby - 在 Redis 中存储 MessagePacked 哈希

我在 Redis 中存储 MessagePacked 哈希时遇到问题。我在下面粘贴了一个测试用例。从 Redis 中提取打包数据并解包时,哈希值略有损坏。当哈希值超过一定长度时,这似乎会发生,尽管我不能肯定地说。

我正在使用 Redis 2.4.17(默认配置)、Ruby 1.9.3p194、MessagePack 0.4.7 和 Redis gem 3.0.2。使用节点也会出现同样的问题,所以我假设问题出在 MessagePack 或 Redis 中。有任何想法吗?

0 投票
2 回答
1620 浏览

c - 什么是 MsgPack 'zone'

我在MsgPack C 标头中看到了对“区域”的引用,但找不到关于它是什么或它的用途的文档。它是什么?此外,C API 的函数文档在哪里?