准备:

  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 

 # __author__ = 'STEVEN'
import pika
def b():
#建立socket
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
#声明一个管道
piple = connection.channel()
#创建一个队列
piple.queue_declare('hello')
#发送消息
piple.basic_publish(exchange='',routing_key='hello',body='你好啊')
print('[x] sent message..hello')
connection.close()
b()

消费者方代码Consumer.py

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

python使用rabbitmq实现简单的消息转发的更多相关文章

  1. java操作rabbitmq实现简单的消息发送(socket编程的升级)

    准备: 1.下载rabbitmq并搭建环境(和python那篇一样:http://www.cnblogs.com/g177w/p/8176797.html) 2.下载支持的jar包(http://re ...

  2. Python控制window进行简单的消息弹窗

    有人提到可以用easygui 稍后尝试一下

  3. ios 消息转发初探

    有时候服务器的接口文档上一个数据写的是string类型,这时候你就会直接把它赋值给一个label. 问题来了,有时候这个string的确是string,没有问题,有时候又是NSNumber,当然不管三 ...

  4. netty实现消息转发服务

    1.结构图 2.消息服务器 消息服务器(SNS)由Http Netty Server(HNS)和WebSocket Netty Server(WNS)组成.HNS采用Netty Http+XML协议栈 ...

  5. Python操作rabbitmq消息队列持久化

    消息队列持久化 Python操作rabbit消息队列的持久化,如下: # 创建一个名为balance的队列,对queue进行durable持久化设为True(持久化第一步)channel.queue_ ...

  6. 使用Python学习RabbitMQ消息队列

    rabbitmq基本管理命令: 一步启动Erlang node和Rabbit应用:sudo rabbitmq-server 在后台启动Rabbit node:sudo rabbitmq-server ...

  7. python【第十一篇】消息队列RabbitMQ、缓存数据库Redis

    大纲 1.RabbitMQ 2.Redis 1.RabbitMQ消息队列 1.1 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议 ...

  8. python中RabbitMQ的使用(安装和简单教程)

    1,简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从"生产者"接收消息 ...

  9. RabbitMQ 简单的消息发送与接收

    RabbitMQ是建立在AMQP(Advanced Message Queuing Protocol,高级消息队列协议)基础上的,而AMQP是建立在TCP协议之上的. 因此,RabbitMQ是需要建立 ...

随机推荐

  1. hibernate属性配置

    数据库中一个字段的默认值设为0,当用hibernate插入数据时,没有对该字段进行操作,结果该字段居然不是0,而是空.后来google了一下,发现应该在.hbm.xml文件中添加一些参数定义(示例中的 ...

  2. java to Json or Json to JavaBean

    今天练习,放这里,以后再补充 这里使用的jar包是 net.sf.json.JSONObject package yh.test.t1118; import net.sf.json.JSONArray ...

  3. 《unix环境高级编程》学习笔记【原创】

    本文基于unix环境高级编程的学习的笔记,写的比较简如有不对,欢迎指点. 简单的描述下面函数的功能改变ctr+c信号原本的作用终止程序,在按下中断键的时候输出一句话. while循环主要读取用户的输入 ...

  4. POJ2478 Farey Sequence —— 欧拉函数

    题目链接:https://vjudge.net/problem/POJ-2478 Farey Sequence Time Limit: 1000MS   Memory Limit: 65536K To ...

  5. Android Studio工程Gradle编译报错

    一.环境的搭建: 首先搭建好AndroidStudio环境.我使用的是Ubuntu 12.04系统(由于此机器还要运行其他程序,为避免兼容性问题,暂未更新到最新,而继续沿用此稳定版),java和jdk ...

  6. Code-NFine:.NET快速开发平台 NFine.Framework Web框架

    ylbtech-Code-NFine:.NET快速开发平台 NFine.Framework Web框架 1.NFine.Framework 详细介绍返回顶部 1. NFine 是基于 C# 语言的极速 ...

  7. [poj2186]Popular Cows(targin缩点)

    题意:求其他所有牛都认为其牛的牛的个数. 解题关键:targin算法模板题,缩点形成一棵树,并不一定是棵树,可能含有多个入度为0的点,寻找出度为0的点(缩点之后的点)的个数,如果个数大于0,则无解,否 ...

  8. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bireportSqlSessionFactory' defined in URL

    报错如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'birepo ...

  9. sql语句之数据类型

    整形类型:该类型没必要指定显示宽度,使用默认的就ok. 类型 大小 TINYINT 1字节 SMALLINT 2字节 MEDIUMINT 3字节 INT或INTEGER 4字节(后面加的宽度不是存储宽 ...

  10. 反射invoke()方法

    invoke()方法: 主要是为了类反射,可以在不知道具体类的情况下,根据配置字符串去调用一个类的方法.最简单的方法是可以把方法参数化.    main.invoke():     比如Test类里有 ...