由于MQTT协议在TCP上流动,因此三个QoS级别之间的差异非常微妙。在正常情况下,TCP将确保交付并防止重复。
我打算使用MQTT向移动设备发送实时数据,但我不需要可靠的交付。尽可能降低电池消耗非常重要,因此避免发送不必要的消息(TCP的确认)会很棒。
是否可以通过UDP或其他不可靠的传输层协议实现MQTT?有没有现有的图书馆这样做?
答案 0 :(得分:3)
MQTT-S可以在UDP上运行,但是还没有任何公开可用的库。你确定电池使用量是个大问题吗?在http://stephendnicholas.com/archives/219
上对Android上的MQTT功耗进行了一些实验我认为MQTT本身确实利用了TCP交付和订购保证。我相信要保证它在UDP上工作是非常困难的。