我已经读过这个主题:Stomp.py return message from listener
但我仍然不明白它是如何工作的,为什么无法直接从stomp对象或侦听器中检索消息?
如果我可以通过send方法发送消息,如果我可以使用on_message侦听器方法接收消息,为什么我不能将该消息返回到我的原始函数,这样我就可以将它返回到前端了?
所以如果我有:
class MyListener(object):
def on_error(self, headers, message):
print '>>> ' + message
def on_message(self, headers, message):
print '>>> ' + message如何从on_message方法返回消息?
或者我能在conn.subscribe(.)之后做些什么吗?
发布于 2015-05-10 01:39:11
好吧,我自己找到了一条路。您所要做的就是对侦听器类进行轻微的更改:
class MyListener(object):
msg_list = []
def __init__(self):
self.msg_list = []
def on_error(self, headers, message):
self.msg_list.append('(ERROR) ' + message)
def on_message(self, headers, message):
self.msg_list.append(message)在代码中,您使用stomp.py:
conn = stomp.Connection()
lst = MyListener()
conn.set_listener('', lst)
conn.start()
conn.connect()
conn.subscribe(destination='/queue/test', id=1, ack='auto')
time.sleep(2)
messages = lst.msg_list
conn.disconnect()
return render(request, 'template.html', {'messages': messages})https://stackoverflow.com/questions/23077284
复制相似问题