MQTT消息单包最大64k,但是我们现在有超过64k的数据,有的都到90k了,是什么原因呢?-[阿里云_云淘科技]

MQTT消息单包最大64k,但是我们现在有超过64k的数据,有的都到90k了,也能正常收发,目前几个月了 也没发现丢数据 ,是什么原因呢?

以下为热心网友提供的参考意见

尽管MQTT协议本身的最大报文尺寸为268435456字节,也就是大约256MB,但在实际应用中往往由于资源受限的客户端和服务端,可能无法处理这一长度的报文。在具体的实现中,例如开源的EMQ X服务器,消息最大限制是64KB。然而,您当前的情况是能够正常接收和发送超过64KB的数据,这可能是因为某些特定的环境或配置下,系统对报文大小的限制进行了放宽。总的来说,虽然您的使用情况目前没有出现问题,但不保证在未来也会一直保持这种状态,因为过大的数据包可能会导致网络拥堵、传输效率降低等问题。因此,如果有可能的话,建议将数据拆分成较小的部分进行发送。

以下为热心网友提供的参考意见

消息单包超过64k可能有非预期(断链、消息丢失等)情况发生,不建议业务层控制单包大小,消息体大小不要超出限制哈 ,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”

以下为热心网友提供的参考意见

即使你的消息超过了MQTT规定的单包最大64K限制,但在实际应用中仍然能够正常收发,可能的原因有:

  • 客户端或服务端实现了消息分片和重组功能,将大消息自动分割成多个小消息进行发送和接收。
  • 网络环境较好,没有出现数据包丢失或乱序的情况,使得大消息能够完整传输。
  • 你的MQTT服务提供商可能在后台放宽了消息大小限制,但未在文档中明确说明。

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/18589.html

(0)
匿名
上一篇 2023年12月25日
下一篇 2023年12月25日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。