利用nodejs快速搭建mqtt服務(wù)器

前言:JavaScript在MQTT架構(gòu)中常用的架構(gòu)
這里我們只實(shí)現(xiàn)了broker和client之間的關(guān)系

image.png

下載nodejs

下載地址:http://nodejs.cn/download/
這里我下載的是windows的64位msi,下載好直接安裝就行了浩峡,直接下一步直到完成企巢。

安裝mqtt.js模塊

這一步非常簡單川慌,在你心儀的那個(gè)文件夾下打開cmd窗口然后輸入npm install mqtt --save命令即可。
安裝好會出現(xiàn)如下圖紅圈內(nèi)的文件夾及文件

image.png

創(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é)果

測試結(jié)果.png

這樣就說明你的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ù)端搭建完成

服務(wù)端的搭建.png

鏈接自己的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)下圖所示

客戶端.png

服務(wù)端.png

附:參考鏈接
mqtt.js
mosca

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崩泡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子猬膨,更是在濱河造成了極大的恐慌角撞,老刑警劉巖呛伴,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谒所,居然都是意外死亡热康,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門劣领,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姐军,“玉大人,你說我怎么就攤上這事尖淘∞刃浚” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵村生,是天一觀的道長惊暴。 經(jīng)常有香客問我,道長趁桃,這世上最難降的妖魔是什么辽话? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮卫病,結(jié)果婚禮上油啤,老公的妹妹穿的比我還像新娘。我一直安慰自己忽肛,他們只是感情好村砂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布烂斋。 她就那樣靜靜地躺著屹逛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪汛骂。 梳的紋絲不亂的頭發(fā)上罕模,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機(jī)與錄音帘瞭,去河邊找鬼淑掌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蝶念,可吹牛的內(nèi)容都是我干的抛腕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼媒殉,長吁一口氣:“原來是場噩夢啊……” “哼担敌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起廷蓉,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤全封,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刹悴,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡行楞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了土匀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片子房。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖就轧,靈堂內(nèi)的尸體忽然破棺而出池颈,到底是詐尸還是另有隱情,我是刑警寧澤钓丰,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布躯砰,位于F島的核電站,受9級特大地震影響携丁,放射性物質(zhì)發(fā)生泄漏琢歇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一梦鉴、第九天 我趴在偏房一處隱蔽的房頂上張望李茫。 院中可真熱鬧,春花似錦肥橙、人聲如沸魄宏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宠互。三九已至,卻和暖如春椭坚,著一層夾襖步出監(jiān)牢的瞬間予跌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工善茎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留券册,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓垂涯,卻偏偏與公主長得像烁焙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子耕赘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容