当前位置:网站首页>rabbmitMQ 发布关键字模式<三>

rabbmitMQ 发布关键字模式<三>

2022-06-22 03:12:00 风华浪浪

生产者

import pika

import pika
# 输入普通凭据(登录用户名和密码)
credentials = pika.PlainCredentials('admin', 'admin')

# 输入连接参数(阻塞连接)
connection = pika.BlockingConnection(
    pika.ConnectionParameters('106.13.168.8',     credentials=credentials)
)

# 建立rabbit协议链接的通道
channel = connection.channel()

# 声明一个名为logs的fanout类型的交换机
channel.exchange_declare(exchange='logs2', exchange_type='direct') #发送参数 direct


# 发送消息内容
channel.basic_publish(
    exchange='logs2',
    routing_key='hello',
    body='hello world'
)

print('[x] sent hello world')

connection.close()

消费者

import pika
# 输入普通凭据(登录用户名和密码)
credentials = pika.PlainCredentials('admin', 'admin')

# 输入连接参数(阻塞连接)
connection = pika.BlockingConnection(
    pika.ConnectionParameters('106.13.168.8',     credentials=credentials)
)

# 建立rabbit协议链接的通道
channel = connection.channel()

# 声明一个名为logs的direct类型的交换机
channel.exchange_declare(exchange='logs2', exchange_type='direct')#指定发送类型

# 绑定队列
channel.queue_declare(queue='queue_name', exclusive=True)

# 将队列绑定到交换机上
channel.queue_bind(exchange='logs2', queue='queue_name', routing_key='hello')

def callback(ch, method, properties, body):
    print(" [x] %r" % body)


# 声明一个名为logs的direct类型的交换机channel.start_consuming()
channel.basic_consume(queue='queue_name', auto_ack=True, on_message_callback=callback)


channel.start_consuming()
原网站

版权声明
本文为[风华浪浪]所创,转载请带上原文链接,感谢
https://blog.csdn.net/a6864657/article/details/114993328