zoukankan      html  css  js  c++  java
  • 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 Fileserl6.1,然后再path中添加%ERLANG_HOME%in;

        b.新建变量:RABBITMQ_SERVER=D:Program Files abbitmq_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()
  • 相关阅读:
    [ZOJ 3622] Magic Number
    SGU 134.Centroid(图心)
    SGU 223.Little Kings
    C++ IO 详细用法
    POJ2632 Crashing Robots 解题报告
    POJ1068 Parencodings 解题报告
    POJ3295 Tautology 解题报告
    POJ2586 Y2K Accounting Bug 解题报告
    POJ1328 Radar Installation 解题报告
    POJ3728 The merchant解题报告
  • 原文地址:https://www.cnblogs.com/g177w/p/8176797.html
Copyright © 2011-2022 走看看