2011-09-20 50 views
1

我正在使用Philip Semanchunk的posix_ipc python模块从posix消息队列读取数据。我写的C++程序用包含数据的结构填充队列。我的python程序成功地从队列中读取消息,但我不确定如何处理所产生的消息。如何解释posix_ipc :: MessageQueue :: receive()的返回值?

做一个print msg只是打印出一个空字符串,但我知道味精有东西在里面。

我希望能够读取结构的成员,但我假设我需要做一些事情,可能与结构模块将这个消息编组为可读?有没有人做过这样的事情?

我已经通读他的文档和演示,但他使用简单的类型,我还没有找到任何源代码是C结构的例子。谷歌也没有任何帮助。

此外,我仅限于使用Python 2.3。谢谢!

+0

尝试调用目录(MSG)的元组,看哪些属性等你一起玩。 –

+0

好的建议!看起来我正在处理一串转义的十六进制值。现在我在哪里看到了这个...我认为结构模块应该照顾这一点。 – awm129

回答

1

使用Python结构模块。

struct::unpack()MessageQueue::receive()十六进制字符串转换成字符串