Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js mqtt.js排队的发布消息不超过65535条_Node.js_Mqtt_Iot - Fatal编程技术网

Node.js mqtt.js排队的发布消息不超过65535条

Node.js mqtt.js排队的发布消息不超过65535条,node.js,mqtt,iot,Node.js,Mqtt,Iot,我一直在尝试使用模拟大量发布,发现队列一次包含的消息不超过65535条。(如果我尝试发送更多,剩余的将被丢弃)这有什么原因吗?是否有任何解决方法?因为这是MQTT中允许的最大数据包ID数 数据包ID是一个16位的数字(最大65535),对于所有机上消息都必须是唯一的 订阅、取消订阅和发布(在QoS>0的情况下)控制 数据包必须包含非零的16位数据包标识符 [MQTT-2.3.1-1]。每次客户端发送其中一个的新数据包时 类型必须为其分配当前未使用的数据包标识符 [MQTT-2.3.1-2]。如果

我一直在尝试使用模拟大量发布,发现队列一次包含的消息不超过65535条。(如果我尝试发送更多,剩余的将被丢弃)这有什么原因吗?是否有任何解决方法?

因为这是MQTT中允许的最大数据包ID数

数据包ID是一个16位的数字(最大65535),对于所有机上消息都必须是唯一的

订阅、取消订阅和发布(在QoS>0的情况下)控制 数据包必须包含非零的16位数据包标识符 [MQTT-2.3.1-1]。每次客户端发送其中一个的新数据包时 类型必须为其分配当前未使用的数据包标识符 [MQTT-2.3.1-2]。如果客户端重新发送特定的控制数据包,则 它必须在随后的重新发送中使用相同的数据包标识符 小包裹数据包标识符在发送后可供重用 客户端已处理相应的确认数据包。在 在QoS 1发布的情况下,这是对应的PUBACK;在这种情况下 在QoS 2中,它是PUBCOMP。对于订阅或取消订阅,它是 相应的分包或反包[MQTT-2.3.1-3]。同样的条件 当服务器发送QoS大于0的发布时应用于服务器[MQTT-2.3.1-4]