Python Qpid 消息编码

0 投票
2 回答
822 浏览
提问于 2025-04-17 13:01

我正在尝试用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 的时候看到了那些内容,可以忽略它。

撰写回答