前端mqtt封裝

2021-10-10 10:22:28 字數 1756 閱讀 9719

對mqtt進行封裝

之前用paho-mqtt這個模組,大概了解了mqtt的用法下面我用mqtt模組進行封裝

以下**可以直接複製到乙個js檔案中

import mqtt_module from

'mqtt'

const

mqtt

=function

(url)

this

.client =

this

.mqtt.

connect

("ws://"

+ url +

"/mqtt"

, options)

// 重連次數 超5次就算了

this

.reconnectnum =

0// 連線

this

.link

=function()

)this

.client.on(

'reconnect'

, error =>

)this

.client.on(

'error'

, error =>)}

)}this

.subscribe

=function

(topic, options)

else})

}this

.publish

=function

(topic, sendmsg, options)

else})

}this

.message

=function

(callback))}

// 關閉

this

.close

=function()

}export

default mqtt

function

getguid32()

else

if(num <10+

26)else

rt_str += ch_str;

}return rt_str;

}

我們看看怎麼使用

import mqtt from

"../utils/mqtt/mqtt"

;//將剛才的js引入

var mqtt =

newmqtt

("***.***.xx.xx:***x");

//裡面寫上ip和埠

var topic =

"speedregulation/compayinfo/getallsitedata"

;//這裡就是主題

mqtt.

link()

.then

((client)

=>

; mqtt.

subscribe

(topic)

;//訂閱主題

mqtt.

subscribe

(topic +

"/"+ mqtt.clientid)

;//訂閱主題

mqtt.

publish

(topic, sendmess,

)//向某個主題傳送訊息

mqtt.

message

(function

(data, topic));

});

與promsie結合的mqtt,要是有問題希望即使聯絡我,我進行改正

Http介面封裝Mqtt協議 C

icache icache 是客戶端連線成功時觸發的事件 mqttclient.connected connected 是客戶端斷開連線時觸發的事件 mqttclient.disconnected disconnected 連線伺服器 mqttclient.connectasync options ...

前端vue axios 封裝

vue init webpack deaxios 使用腳手架建立專案 deaxios 專案名,隨便取得 cd deaxios 進入專案 npm install axios 0.19 2 安裝axios npm i element ui s 安裝element ui到當前專案 第一步 例項化axios...

前端封裝WebSocket

最近遇到的專案不少都要使用websocket,這兒我把它封裝起來,使用起來非常簡單。1.首先在專案裡面建立乙個websocketutils.js的檔案let farmwebsocket function this.ws null websocket例項 this.repeat 0 this.oncl...