python使用rabbitmq实现简单的消息转发

准备:

  1.下载elang语言的支持环境http://www.erlang.org/download.html (rabbitmq使用它开发的)

  2.下载rabbitmq软件http://www.rabbitmq.com/releases/rabbitmq-server/(根据自己的系统选择)

  3.安装elang,rabbitmq,并配置环境变量,我的是windows7,步骤大概如下:

    a.新建变量:ERLANG_HOME=D:\Program Files\erl6.1,然后再path中添加%ERLANG_HOME%\bin;

    b.新建变量:RABBITMQ_SERVER=D:\Program Files\rabbitmq_server-3.3.4,然后再path中添加%RABBITMQ_SERVER%\sbin;

    c.运行sbin/rabbitmq-server.bat,启动RabbitMQ服务器效果如下图

      

用python操作rabbitmq

  1.下载pika支持包(pip install pika)

  2.消息发送接收采用的是生产者消费者模型

生成者方代码Productor.py 

 1 # __author__ = 'STEVEN'
 2 import pika
 3 def b():
 4     #建立socket
 5     connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
 6     #声明一个管道
 7     piple = connection.channel()
 8     #创建一个队列
 9     piple.queue_declare('hello')
10     #发送消息
11     piple.basic_publish(exchange='',routing_key='hello',body='你好啊')
12     print('[x] sent message..hello')
13     connection.close()
14 b()

消费者方代码Consumer.py

 1 # __author__ = 'STEVEN'
 2 import pika
 3 #创建socket链接
 4 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
 5 #创建管道
 6 channel = connection.channel()
 7 #创建队列
 8 channel.queue_declare('hello')
 9 #声明回调函数
10 def callback(ch,method,properties,body):
11     print('[x] recieved message%r'%body.decode())
12 #如果接受到消息就调用回调函数,准备接受消息
13 channel.basic_consume(callback,queue='hello',no_ack=True)
14 print('[*] is waiting for recieve mess press ctrl+c to eixt')
15 #开始消费消息
16 channel.start_consuming()

 

posted @ 2018-01-02 13:26  漂渡  阅读(771)  评论(0编辑  收藏  举报