0

我正在尝试从 python 中的 amqp 代理接收消息。这是我的代码:

#!/usr/bin/python

import sys
import os
import getopt
from qpid.messaging import *
from qpid.log import enable, DEBUG

broker_rcv = "admin/admin@hostname:IP"
address_rcv = "broadcast.QUEUE_NAME.QUEUE_NAME"  + "; { node: { type: queue }, assert: never , create: never, mode: " + "browse" + " }"

connection_rcv = Connection(broker_rcv)
connection_rcv.open()
session_rcv = connection_rcv.session()
receiver = session_rcv.receiver(address_rcv)

msg = receiver.fetch(timeout=None)
print msg.content

但是当我尝试打印消息时,我看到它们的编码很奇怪,并且无法更改消息编码。

我做错了什么?

4

2 回答 2

0

msg.content 包含一些生产者发送的原始消息内容。你不能改变它。你上面提到的编码是什么?如果您在打印味精时看到它,请忽略它。

于 2012-03-06T07:44:10.460 回答
0

你做错了什么是你没有解码消息。当您收到编码的消息时,您必须首先对其进行解码。

这些是 FIX 消息吗?所有技术规格都在这里http://fixprotocol.org/specifications/

这里有一个 Python 库http://source.kentyde.com/fixlib

于 2012-03-11T06:51:28.740 回答