1. deflate\inflate在MQTTpublish和subscribe中的应用
publish压缩后的数据
import * as pako from 'pako'
import * as mqtt from 'mqtt'
//需连接mosquitto的服务
let info = `{time: 'YYYY-MM-DD<T>HH:mm[:ss[.SSS]]ZZ',
dev: {dev_id: 1, dev_name: '001', dev_type: '123', group_no: '1'}}`
info = pako.deflate(info)
this.client.on('connect', () => {
this.client.subscribe('topic', (err) => {
if (!err) {
this.mqtt_publish('topic', info) //这里是我自己封装的函数,MQTT的publish用法详情见MQTT官网
} else {
logger.error(err)
}
})
})
subscribe数据,并解压
this.client.on('message', (topic, message) => {
// packet is Buffer
try {
let data = message.toString()
const charData = data.split(',').map(function (x) { retu