Я пытаюсь отправить сжатый JSON с помощью MQTT из браузера на сервер python. Это как сжать исходный объект (с помощью GZIP-JS)Отправить сжатый JSON с MQTT.js
...
if(opt.compression){
msg = new Uint8Array(gzip.zip(msg, compressionOptions));
}
MQTTclient.publish(topic, msg);
...
Но я получаю ошибку:
script.js:65 TypeError: string.charCodeAt is not a function(…)
EventEmitter.emit @ events.js:77
sendPacket @ client.js:51
....
То же самое происходит, если я пытаюсь опубликовать сообщение в качестве стандартного машинописного массив. Единственный способ отправить сжатое сообщение - это его кодирование, но затем я получаю проблемы со стороны python.
Не могли бы вы объяснить, почему вы не просто позволяете браузеру и серверу выполнять gzip compress/decprss для вас? Gzip браузера намного превосходит все, что может быть написано в JS, и оно уже загружено в память ... – LinuxDisciple
По какой-либо причине вы используете MQTT.js, а не JA-клиент paho? – hardillb
@LinuxDisciple Это скорее всего не только полезная нагрузка между браузером и брокером, но и между брокером и подписчиком. Также работает ли кодировка gzip после обновления протокола websocket? – hardillb