安装使用到的库
输入如下命令安装stomp
pip install stomp.py
发送请求
# -*-coding:utf-8-*-
import stomp
import time
# 队列名(接收方可以根据管道名来选择接受那个队列数据)
location_queue = "123456"
# 服务器ip,端口固定用这个
conn = stomp.Connection([('127.0.0.1', 61613)])
# 账号密码
conn.connect(username='admin', passcode='admin', wait=True)
def send_to_queue(msg):
print('---------消息发送--------------')
# body=数据, destination=根据队列名传输数据,如果队列不存在,就创建一个
conn.send(body=str(msg), destination=location_queue)
print(msg)
if __name__ == '__main__':
send_to_queue('len 123')
# receive_from_queue()
conn.disconnect()
接收数据
# -*-coding:utf-8-*-
import stomp
# 队列名
location_queue = "123456"
conn = stomp.Connection([('127.0.0.1', 61613)])
conn.connect(username='admin', passcode='admin', wait=True)
class SampleListener(object):
def on_message(self, headers, message):
print('headers: %s' % headers)
print('message: %s' % message)
def receive_from_queue():
# 如果接受数据,就调用这个类,里面的参数是类名和类,名称必须一致
conn.set_listener('SampleListener', SampleListener())
# 从选择的管道中区数据,管道名,id(随便写一个数字就行)
conn.subscribe(location_queue, 12)
# 不能让程序停止,负责每传一次数据都得接收一次
while True:
pass
if __name__ == '__main__':
receive_from_queue()
conn.disconnect()
注意
连接端口是61613