如何在微信小程序中使用mqtt服務(wù)?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、石龍ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的石龍網(wǎng)站制作公司
js中連接mqtt服務(wù)器是通過websocket來實(shí)現(xiàn)的,我在網(wǎng)上找了2個(gè)庫,一個(gè)是eclipse開發(fā)的paho-mqtt。
項(xiàng)目地址:https://github.com/eclipse/paho.mqtt.javascript
一個(gè)是個(gè)人開發(fā)的mqttjs,項(xiàng)目地址:https://github.com/mqttjs/MQTT.js
比較了下,mqqtt.js比較靈活對小程序也有很好的支持,所以采用了這個(gè)庫來做連接。
于是看了下他自己的介紹,直接拿過來試用了下。因?yàn)槭侵苯佑迷谛〕绦蛑胁恍枰敲磸?fù)雜,它提供了靜態(tài)的cdn下載,
直接打開鏈接復(fù)制到工程中直接用就可以,不用更改。cdn地址:https://unpkg.com/mqtt@2.18.8/dist/mqtt.js min版:https://unpkg.com/mqtt@2.18.8/dist/mqtt.min.js;
使用起來也很簡單,直接貼代碼
function connectMq(){ // 連接選項(xiàng) const options = { connectTimeout: 4000, // 超時(shí)時(shí)間 // 認(rèn)證信息 按自己需求填寫 clientId: '', username: 'xxx', password: 'xxx', } let phone = app.globalData.myInfo.TelPhone; const client = mqtt.connect('wx://xx.xxxxxxx', options) client.on('reconnect', (error) => { console.log('正在重連:', error) }) client.on('error', (error) => { console.log('連接失敗:', error) }) client.on('connect', (e) => { console.log('成功連接服務(wù)器111') //訂閱一個(gè)主題 client.subscribe('phone_' + phone, { qos: 0 }, function (err) { if (!err) { //client.publish('123', 'Hello mqtt') console.log("訂閱成功") } }) }) //監(jiān)聽mq的返回 client.on('message', function (topic, message, packet) { // message is Buffer console.log("packet", packet.payload.toString()) client.end() }) }
這里著重要注意的連接地址的寫法
//mqtt.connect('wx://xxxxxxxxxx', options); //wx:// xx.xx.xxxxxxx //協(xié)議版本 鏈接地址 //微信小程序這個(gè)版本 作者自己封裝了一層 wx表示普通的ws協(xié)議連接 wxs表示加密之后的wss協(xié)議連接。
關(guān)于如何在微信小程序中使用mqtt服務(wù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。