最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在微信小程序中使用mqtt服務(wù)的方法

 更新時間:2019年12月13日 11:01:35   作者:missmz  
這篇文章主要介紹了在微信小程序中使用mqtt服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

因為需求的關(guān)系,需要在小程序中使用mqtt來進(jìn)行tcp的長連接,實時監(jiān)聽設(shè)備的返回狀態(tài)。

js中連接mqtt服務(wù)器是通過websocket來實現(xiàn)的,我在網(wǎng)上找了2個庫,一個是eclipse開發(fā)的paho-mqtt。

項目地址:https://github.com/eclipse/paho.mqtt.javascript

一個是個人開發(fā)的mqttjs,項目地址:https://github.com/mqttjs/MQTT.js

比較了下,mqqtt.js比較靈活對小程序也有很好的支持,所以采用了這個庫來做連接。

于是看了下他自己的介紹,直接拿過來試用了下。因為是直接用在小程序中不需要那么復(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(){
 
  // 連接選項
  const options = {
   connectTimeout: 4000, // 超時時間
   // 認(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')
    //訂閱一個主題
   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é)議版本 鏈接地址
//微信小程序這個版本 作者自己封裝了一層 wx表示普通的ws協(xié)議連接 wxs表示加密之后的wss協(xié)議連接。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript設(shè)計模式 封裝和信息隱藏(上)

    javascript設(shè)計模式 封裝和信息隱藏(上)

    今天博文關(guān)注的是javascript中的封裝,文章內(nèi)容來自《pro javascript design patterns》(有興趣的朋友可以直接去下)和自己對這一問題的理解
    2012-07-07
  • 基于javascript實現(xiàn)移動端輪播圖效果

    基于javascript實現(xiàn)移動端輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了基于javascript實現(xiàn)移動端輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • JS刪除數(shù)組中某個元素的四種方式總結(jié)

    JS刪除數(shù)組中某個元素的四種方式總結(jié)

    js刪除指定元素方法有很多,下面這篇文章主要給大家介紹了關(guān)于JS刪除數(shù)組中某個元素的四種方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • JS數(shù)組循環(huán)的方式以及效率分析對比

    JS數(shù)組循環(huán)的方式以及效率分析對比

    本文詳細(xì)講解了JS數(shù)組循環(huán)的方式以及效率分析對比,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • JS面試高頻單線程與事件循環(huán)深入解析

    JS面試高頻單線程與事件循環(huán)深入解析

    JavaScript是一種單線程語言,它在任何給定時間只能執(zhí)行一個任務(wù),然而js確能夠處理異步操作,這得益于其事件循環(huán)(Event Loop)機(jī)制,今天這篇文章帶領(lǐng)大家深入理解JavaScript單線程特性,以及講解事件循環(huán)和js多線程知識
    2023-10-10
  • vue組件中watch props根據(jù)v-if動態(tài)判斷并掛載DOM的問題

    vue組件中watch props根據(jù)v-if動態(tài)判斷并掛載DOM的問題

    這篇文章主要介紹了vue組件中watch props根據(jù)v-if動態(tài)判斷并掛載DOM的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Javascript實現(xiàn)Web顏色值轉(zhuǎn)換

    Javascript實現(xiàn)Web顏色值轉(zhuǎn)換

    這篇文章主要介紹了Javascript實現(xiàn)Web顏色值轉(zhuǎn)換,需要的朋友可以參考下
    2015-02-02
  • 微信小程序如何獲取圖片寬度與高度

    微信小程序如何獲取圖片寬度與高度

    這篇文章主要給大家介紹了關(guān)于微信小程序如何獲取圖片寬度與高度的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 利用Three.js實現(xiàn)3D三棱錐立體特效

    利用Three.js實現(xiàn)3D三棱錐立體特效

    Three.js是基于原生WebGL封裝運行的三維引擎,在所有WebGL引擎中,Three.js是國內(nèi)文資料最多、使用最廣泛的三維引擎。本文將用Three.js實現(xiàn)3D三棱錐立體特效,感興趣的可以了解一下
    2022-06-06
  • BootStrap表單時間選擇器詳解

    BootStrap表單時間選擇器詳解

    這篇文章主要為大家詳細(xì)介紹了BootStrap表單時間選擇器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論

织金县| 勐海县| 平乡县| 济阳县| 眉山市| 霍林郭勒市| 鄄城县| 建阳市| 合川市| 同江市| 宣汉县| 广丰县| 阜康市| 远安县| 南投市| 庆云县| 靖边县| 湖口县| 湟中县| 盐山县| 嘉义县| 咸阳市| 环江| 六安市| 竹溪县| 宣化县| 齐河县| 哈尔滨市| 潮安县| 封开县| 新丰县| 内江市| 洪湖市| 北票市| 临邑县| 平谷区| 宝坻区| 靖远县| 蒙自县| 衡山县| 河曲县|