Python Qpid 消息编码
我正在尝试用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
但是当我尝试打印消息时,看到的内容是奇怪的编码,而且没有办法更改消息的编码。
我哪里做错了呢?
2 个回答
0
你做错的地方在于没有解码消息。当你收到一个编码过的消息时,首先要做的就是解码它。
这些是FIX消息吗?所有的技术规格都在这里 http://fixprotocol.org/specifications/
这里有一个Python库 http://source.kentyde.com/fixlib
0
msg.content 是一些发送者发来的原始消息内容。你不能修改它。
你提到的编码是什么呢?如果你在打印 msg 的时候看到了那些内容,可以忽略它。