在Nodejs下与Rabbitmq消息服务器通信(node-amqp)
来源:互联网 发布:windows10风扇控制软件 编辑:程序博客网 时间:2024/04/27 20:28
一、测试条件:
1.1、ubuntu服务器平台
首先,安装好Nodejs及Rabbitmq消息服务器(Ubuntu下的Rabbitmq消息服务器的安装,可以直接使用此脚本Rabbitmq-install.sh)。
Rabbitmq-install.sh 脚本代码如下:
#!/bin/shecho "deb http://www.rabbitmq.com/debian/ testing main" >> /etc/apt/sources.listwget -c http://www.rabbitmq.com/rabbitmq-signing-key-public.ascapt-key add rabbitmq-signing-key-public.ascapt-get updateapt-get install -y rabbitmq-server g++ makerm -fr rabbitmq-signing-key-public.ascrabbitmq-plugins enable mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent rabbitmq_managementrabbitmqctl delete_user guestrabbitmqctl add_user admin adminrabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"rabbitmqctl set_user_tags admin administrator/etc/init.d/rabbitmq-server restart
假定服务器已经安装好上述两种服务,而且消息服务器的用户名/密码均为admin/admin.
1.2、安装nodejs与Rabbitmq消息服务器交互所需的node-amqp模块。
运行如下命令:
[leekwen@ubuntu ~] mkdir node-amqp; cd node-amqp [leekwen@ubuntu node-amqp]$ npm install rabbitmq; npm install amqp
二、node-amqp模块的使用方法及测试实例
2.1、node-amqp所在的github地址(含API说明)
node-amqp is an AMQP client for nodejs
地址:https://github.com/postwait/node-amqp
2.2、使用node-amqp的测试实例
测试代码如下:
/** Install Rabbitmq Server* Install nodejs && nmp* Run those commands:* [leekwen@ubuntu ~] mkdir node-amqp; cd node-amqp* [leekwen@ubuntu node-amqp]$ npm install rabbitmq* [leekwen@ubuntu node-amqp]$ npm install amqp*/var amqp = require('amqp');var connection = amqp.createConnection({url: "amqp://admin:admin@127.0.0.1:5672"});connection.on('ready', function () { var callbackCalled = false;exchange = connection.exchange('exchange_name', {type: 'direct',autoDelete:false}); connection.queue("queue_name",{autoDelete:false}, function(queue){ queue.bind('exchange_name','queue_name', function() {exchange.publish('queue_name', 'this is message is testing ......'); callbackCalled = true; setTimeout(function() { console.log("Single queue bind callback succeeded"); //exchange.destroy(); //queue.destroy(); connection.end(); connection.destroy(); }, 5000); }); queue.subscribe(function (message) { console.log('At 5 second recieved message is:'+ message.data); }); });});
具体使用请参照node-amqp的相关API。
0 0
- 在Nodejs下与Rabbitmq消息服务器通信(node-amqp)
- AMQP消息服务器 RabbitMQ
- AMQP消息服务器 RabbitMQ
- AMQP消息服务器RabbitMQ
- AMQP消息服务器RabbitMQ
- RabbitMQ logo AMQP消息服务器 RabbitMQ
- 在w7下安装RabbitMQ消息服务器
- 高级消息队(AMQP)之 RabbitMQ
- Spring消息(2)之AMQP(RabbitMQ)
- amqp协议与php下的rabbitMQ
- linux下 php安装AMQP扩展 与AMQP收发消息
- RabbitMQ与AMQP协议
- 消息队列、AMQP和RabbitMQ
- [AMQP] RabbitMQ 安装与测试
- RabbitMQ与AMQP协议详解
- RabbitMQ与AMQP协议详解
- RabbitMQ与AMQP协议详解
- RabbitMQ与AMQP协议详解
- Jquery选中或取消radio
- hud 3265 Examing the romms
- JDK 各个版本 官网下载 指南
- OpenCV基础篇之使用CMake管理工程
- Ascensor.js中的non-break space
- 在Nodejs下与Rabbitmq消息服务器通信(node-amqp)
- OpenCV基础篇之查找表
- centos 6.5 安装chrome(chromium)
- POJ 3335 Rotating Scoreboard
- 关键帧动画CAKeyframeAnimation
- Map的一些子类的用法和区别
- IOS-NSDate之今天,昨天,这周,这个月,上个月
- lucune
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2