MQTT的数据包传递率百分比比CoAP高多少



我愿意了解MQTT和CoAP传输之间的数据包传递速率的比较。我知道TCP比UDP更安全,所以MQTT应该具有更高的数据包传递速率。我只想知道,如果分别使用两种协议发送2000个数据包,在这两种情况下,大约百分比是多少?如果可能的话,请举个例子。

如果你稍微挖掘一下,你会发现TCP和UDP都主要发送IP消息。其中一些信息可能会丢失。对于TCP,重传由TCP协议处理,不受您的影响。这肯定还不错(至少在很多情况下(。对于CoAP,当您使用CON消息时,CoAP会为您进行重传,因此也不会损失太多。

当涉及到消息丢失更多的传输时(例如,连接不良(,可靠性也可能取决于数据量。如果它适合一个IP消息,那么它到达目的地的概率要高于4个消息到达目的地。在这种情况下,差异开始:使用TCP要求所有消息都能无间隙地到达目的地(例如,1,2、(丢弃3(、4将不起作用(。CoAP也将传递有间隙的信息。这取决于你的申请,你是否能从中受益。

我已经在DTLS 1.2(连接ID(上测试CoAP一年了,现在我使用安卓手机,只是通过wifi和移动网络发送请求(约400字节(。它的工作非常可靠。当前统计数据:2000次请求,143次重传,4次丢失。请注意:4 lost主要意味着"没有连接",因此请确保,使用TCP的结果会低于此值,尤其是在移动时,经常需要新的TCP/TLS握手。

所以我的结论是:如果你有一个稳定的网络连接,两者都应该工作。如果您的网络连接不太稳定,并且应用程序无法接受间隙,则两者都会出现问题。如果你的网络连接不太稳定,并且你的应用程序可以接受间隙,那么CoAP会做得更好。

最新更新