對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...