Skip to main content

发布二进制数据

上一节提到 publish方法的message参数可以是String或者Buffer,所以是可以发送二进制数据的。

注意:小程序里是没有Buffer的,Buffer是从mqtt.js导出的数据结构。

示例代码如下:

client.publish('test/topic', Buffer.from([0x01, 0o02, 0x03]), {qos: 1})

完整的测试代码:

app.js
import {connect, Buffer} from './utils/mqtt.min'

App({
onLaunch() {
let client = connect({
protocol: 'wxs',
host: 'mqttx.cn',
port: 8883,
path: '/mqtt',
clientId: 'test',
clean: false
})
client.on('connect', function (connack) {
console.log('connected', connack.sessionPresent)
client.subscribe('test/topic', {qos: 1}, function (err) {
if (!err) {
client.publish('test/topic', Buffer.from([0x01, 0o02, 0x03]), {qos: 1})
}
})
})
client.on('message', function (topic, payload, packet) {
console.log(payload)
})
}
})