首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么MQTT比Websockets+protobuf使用更少的电池(或者不是?)

为什么MQTT比Websockets+protobuf使用更少的电池(或者不是?)
EN

Stack Overflow用户
提问于 2016-10-26 05:17:43
回答 2查看 681关注 0票数 1

在使用MQTT服务器时,一个问题突然出现在我的脑海中,在我的情况下使用Protobuf+Websockets会更好吗?

我正在制作一个即时通讯平台...clientA到服务器到数据库和clientB。

要发送的信息:对话ID和消息。

EN

回答 2

Stack Overflow用户

发布于 2016-10-26 06:02:17

当您在最初的GET请求中包含HTTP头的大小,然后在服务器的UPGRADE请求中启动Websocket连接时,总的网络流量通常比打开MQTT连接并订阅一个主题的流量大几个数量级。

通过网络发送数据使用无线电,这会消耗电池,所以你发送的数据越多,你消耗的电池就越多。使用MQTT,发送和接收的更多数据是您的实际有效负载,而不是与协议关联的额外数据。

虽然随着更多数据的发送/接收,初始握手导致的差异将在更长更稳定的连接中趋于平衡,但对于移动应用程序来说,情况并不总是如此,当它们在蜂窝站点之间移动或在移动数据和WiFi之间切换时,当它们从4G移动到3G时,往往会更频繁地断开网络连接。

Websockets比HTTP长轮询要好得多,但在连接开始时仍然有大量的初始网络命中。

票数 2
EN

Stack Overflow用户

发布于 2016-10-27 06:26:47

带有压缩/协议的MQTT =>最好

MQTT =>很好

HTTP上的Websockets支持压缩/ protobuf => ok

Websockets over HTTP =>等等

只有在客户端使用像JavaScript这样的东西,或者如果你想通过超文本传输协议(例如,更容易穿越防火墙)时才使用Websockets。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40249862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档