node.js - 适用于大于 128 字节的 node.js 播放负载的 MQTT 客户端

标签 node.js websocket mqtt

我尝试理解并实现node.js的MQTT客户端,可以在:http://jahbromo.blogspot.de/2011/12/client-mqttt-javascript.html找到它。

当我发布低于 128 字节的播放负载时,没有问题,并且消息得到正确定向,但当负载较大时,node.js 在发布后立即打印出“连接已被代理关闭”。因为我对 websockets 和 node.js 比较陌生,所以我不明白为什么上面提到的这个 node.js-server-implemenation 无法处理大于 128 字节的播放负载。 因为我需要发送更大的有效负载,如果有人可以帮助我增加限制,那就太好了。

谢谢。

最佳答案

您会注意到链接到的代码的限制(实际上是 https://github.com/yilun/node_mqtt_client 的修改版本):

Can not handle payloads larger than 128 byte.

这是客户端库的限制,而不是 MQTT 的限制。

要添加对更大有效负载的支持,您需要为 PUBLISH 数据包实现完整的“剩余长度”支持,如规范中所述:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#fixed-header

关于node.js - 适用于大于 128 字节的 node.js 播放负载的 MQTT 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337528/

相关文章:

ruby - WebSocket 不是一个类(类型错误)

带有 SockJs 的 Spring Websocket 从 XHR 流切换到 Websocket

javascript - 使用 mqtt.js 和 Mosca 的离线消息问题

node.js - 将 MQTT 协议(protocol)路由到 PM2

javascript - 如何将 Node.js 文件拆分为多个文件

node.js - 如何使用 NodeJS 创建图表?

javascript - node.js 中的意外保留字导入

java - 错误: Could not find or load main class TestClient

node.js - 为什么这段代码有效? (NodeJS/Express 异步回调)

mqtt - 是否可以在多个使用者之间分发对MQTT主题的阅读?