前言:JavaScript在MQTT架構(gòu)中常用的架構(gòu)
這里我們只實(shí)現(xiàn)了broker和client之間的關(guān)系
下載nodejs
下載地址:http://nodejs.cn/download/
這里我下載的是windows的64位msi,下載好直接安裝就行了浩峡,直接下一步直到完成企巢。
安裝mqtt.js模塊
這一步非常簡單川慌,在你心儀的那個(gè)文件夾下打開cmd窗口然后輸入npm install mqtt --save命令即可。
安裝好會出現(xiàn)如下圖紅圈內(nèi)的文件夾及文件
創(chuàng)建一個(gè)客戶端進(jìn)行測試
在剛剛安裝mqtt.js文件夾下創(chuàng)建一個(gè)mqtt-test.js文件,然后鍵入以下代碼
var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://test.mosquitto.org')
client.on('connect', function () {
client.subscribe('presence')
client.publish('presence', 'Hello mqtt')
})
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString())
client.end()
})
然后在此文件夾下打開cmd輸入node mqtt-test.js就會出現(xiàn)如下圖所示結(jié)果
這樣就說明你的mqtt模塊就建立好了,但這僅限于客戶端的使用為了使我們更方便的使用我們將在本地搭建一個(gè)服務(wù)器
下面來說說如何建立服務(wù)端
安裝mosca(和上面安裝mqtt.js一樣)
打開cmd然后輸入npm install mosca --save
創(chuàng)建mqtt-server.js文件
代碼如下
var mosca = require('mosca');
var ascoltatore = {
//using ascoltatore
//type: 'mongo',
//url: 'mongodb://localhost:27017/mqtt',
//pubsubCollection: 'ascoltatori',
//mongo: {}
};
var settings = {
port: 1883,
backend: ascoltatore
};
var server = new mosca.Server(settings);
server.on('clientConnected', function(client) {
console.log('client connected', client.id);
});
// fired when a message is received
server.on('published', function(packet, client) {
console.log('Published', packet.payload);
});
server.on('ready', setup);
// fired when the mqtt server is ready
function setup() {
console.log('Mosca server is up and running');
}
然后在此文件夾下打開cmd 輸入node mqtt-server.js
若顯示下圖所示窿给,則說明本地mqtt服務(wù)端搭建完成
鏈接自己的mqtt服務(wù)端
將mqtt-test.js中的mqtt://test.mosquitto.org改為mqtt://127.0.0.1即可
然后打開兩個(gè)終端
一個(gè)是運(yùn)行服務(wù)端的
另一個(gè)運(yùn)行客戶端
首先運(yùn)行服務(wù)端,然后在運(yùn)行客戶端率拒,若出現(xiàn)下圖所示