send.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pika
import sys
import ssl
username = 'yang' # 指定远程rabbitmq的用户名密码
pwd = 'yang'
port = 15672
port = 5672
# port = 5671
host = "192.168.128.132"
# host = "localhost"
user_pwd = pika.PlainCredentials(username, pwd)
# s_conn = pika.BlockingConnection(
# pika.ConnectionParameters(host=host, port=port, virtual_host='/', credentials=user_pwd)) # 创建连接
s_conn = pika.BlockingConnection(
pika.ConnectionParameters(host=host, port=port, credentials=user_pwd)) # 创建连接
chan = s_conn.channel() # 在连接上创建一个频道
chan.queue_declare(queue='hello') # 声明一个队列,生产者和消费者都要声明一个相同的队列,用来防止万一某一方挂了,另一方能正常运行
chan.basic_publish(exchange='', # 交换机
routing_key='hello', # 路由键,写明将消息发往哪个队列,本例是将消息发往队列hello
body='python you known yangxiaodong ni kuku') # 生产者要发送的消息
s_conn.close() # 当生产者发送完消息后,可选择关闭连接
receive.py
import pika
username = "yang"
pwd = "yang"
host = "192.168.128.132"
port = 5672
user_pwd = pika.PlainCredentials(username, pwd)
connection = pika.BlockingConnection(pika.ConnectionParameters(host=host, port=port, credentials=user_pwd))
channel = connection.channel()
channel.queue_declare(queue="hello")
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(callback,
queue='hello',
no_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()