From 565c4f00094c6894911b47fae031c4777539b616 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Mon, 26 Dec 2016 15:48:25 +0800
Subject: [PATCH] 服务端代码优化与测试
---
queue.js | 43 +++++++++++++++++--------------------------
1 files changed, 17 insertions(+), 26 deletions(-)
diff --git a/queue.js b/queue.js
index 791837d..2b20268 100644
--- a/queue.js
+++ b/queue.js
@@ -6,46 +6,37 @@
var moment = require('moment');
var uri = 'amqp://guest:guest@121.40.92.176';
-var ex = 'ex_data_dev1';
module.exports.publishMessage = function(data) {
+ this.pushToMQ('ex_data_dev1', {
+ data: data,
+ time: moment().format('YYYY-MM-DD HH:mm:ss')
+ })
+};
+
+module.exports.pushToMQ = function(ex, data) {
amqp.connect(uri, function(err, conn) {
conn.createChannel(function(err, ch) {
ch.assertExchange(ex, 'fanout', { durable: false });
- var message = '{"data": "' + data + '", "time":"' + moment().format('YYYY-MM-DD HH:mm:ss') + '"}';
- ch.publish(ex, '', new Buffer(message));
+ ch.publish(ex, '', new Buffer(JSON.stringify(data)));
});
setTimeout(function() {
conn.close();
- //process.exit(0)
}, 500);
});
};
-module.exports.pushToScreen = function(data) {
+module.exports.listenToMQ = function(ex) {
amqp.connect(uri, function(err, conn) {
conn.createChannel(function(err, ch) {
- ch.assertExchange('ex_data_screen', 'fanout', { durable: false });
- var message = {
- mac: data.mac,
- address: "���������������������������������",
- location: {
- lat:31.430616,
- lng:120.988327
- },
- data: {
- x1: data.x1,
- x2: data.x2,
- x3: data.x3,
- x4: data.x4,
- x5: data.x5,
- x6: data.x6
- }
- };
- ch.publish('ex_data_screen', '', new Buffer(message));
+ ch.assertExchange(ex, 'fanout', { durable: false });
+ ch.assertQueue('', {exclusive: true}, function(err, q) {
+ ch.bindQueue(q.queue, ex, '');
+ ch.consume(q.queue, function(msg) {
+ var message = JSON.parse(msg.content);
+ global.configs[message.mac] = message;
+ }, { noAck: true });
+ });
});
- setTimeout(function() {
- conn.close();
- }, 500);
});
};
\ No newline at end of file
--
Gitblit v1.8.0