2012-05-05 30 views
3

由于MQTT协议在TCP上传输,因此三个QoS级别之间的差异非常微妙。在正常情况下,TCP将确保交付并防止重复。MQTT:不是可靠的传输而不是TCP

我打算使用MQTT将实时数据发送到移动设备,但我不需要可靠的交付。尽可能降低电池消耗非常重要,所以避免发送不必要的消息(TCP的确认)会很好。

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

回答

3

MQTT-S可以通过UDP运行,但目前还没有任何公开可用的库。你确定电池的使用是一个很大的问题?有一些在Android上的MQTT电源使用情况下完成的实验运行结果在http://stephendnicholas.com/archives/219

我认为MQTT本身确实使用TCP传输和订购保证。我相信要保证它在UDP上工作是非常困难的。

+0

谢谢,我知道MQTT-S,但它不完全是我需要的。移动设备将以非常高的速度接收信息,因此每一项改进都会对其自主性产生相当大的影响。 我认为你所谈论的实验可能是[这些](http://stephendnicholas.com/archives/219)。 –

+0

是的,这是我将它包含在答案中的链接。 – ralight