3

由于 MQTT 协议流经 TCP,因此三个 QoS 级别之间的差异非常微妙。在正常情况下,TCP 将确保交付并防止重复。

我打算使用 MQTT 将实时数据发送到移动设备,但我不需要可靠的传递。保持尽可能低的电池消耗非常重要,因此最好避免发送不必要的消息(TCP 的确认)。

是否可以通过 UDP 或其他不可靠的传输层协议实现 MQTT?是否有任何现有的图书馆这样做?

4

1 回答 1

3

MQTT-S 可以在 UDP 上运行,但目前还没有任何公开可用的库。你确定电池使用有那么大的问题吗?在http://stephendnicholas.com/archives/219上对 Android 上的 MQTT 电源使用进行了一些实验。

我认为 MQTT 本身确实利用了 TCP 交付和排序保证。我相信很难保证它在 UDP 上工作。

于 2012-05-05T17:01:23.717 回答