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

あなたが間違っているのは、メッセージのデコードに失敗していることです。エンコードされたメッセージを受信したら、まずデコードする必要があります。

それらはFIXメッセージですか?すべての技術仕様はこちらhttp://fixprotocol.org/specifications/

Python ライブラリの 1 つがここにありますhttp://source.kentyde.com/fixlib

于 2012-03-11T06:51:28.740 に答える
0

msg.content には、プロデューサーによって送信された元のメッセージ コンテンツが含まれます。変更することはできません。そして、あなたが上で言及したエンコーディングは何ですか? メッセージを印刷するときにそれを見た場合は、無視してください。

于 2012-03-06T07:44:10.460 に答える