MQTT是一种基于发布/订阅模式的"轻量级"通讯协议。作为一种低开销、低带宽占用的即时通讯协议,使其在威尼斯3775网站-5959cc威尼斯官网、小型设备、移动应用等方面有较广泛的应用。

1、MQTT和Websocket的区别是什么?

? ? ? ? ? WebSocket,是一种网络传输协议,位于OSI模型的应用层。可在单个TCP连接上进行全双工通信,能更好的节省服务器资源和带宽并达到实时通信,客户端和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。
? ? ? ? ? MQTT协议是一种消息队列传输协议,采用订阅、发布机制,订阅者只接收自己已经订阅的数据,非订阅数据则不接收,既保证了必要的数据的交换,又避免了无效数据造成的储存与处理。WebSocket是一种简单的报文协议,仅仅定义了会话的发起方式和报文格式及类型;MQTT则是一种比较复杂的消息协议,MQTT不仅规定了具体的协议编码,还规定了客户端和服务器的通信模型。支持有序双向连接的网络协议都可以支持MQTT,MQTT over WebSocket即使用WebSocket来支持MQTT Client和Broker的连接,这样就可以用于MQTT设备跟Web端通信。?

2、在威尼斯3775网站-5959cc威尼斯官网应用中,为什么MQTT优于HTTP?

? ? ? ? ? 在MQTT协议中,数据包由:固定报头(Fixed header)、 可变报头(Variable header)、 消息体(payload)三部分构成。最小的数据包只有2字节,且无应用消息头。使用发布/订阅消息模式;提供一对多的消息发布和应用程序之间的解耦;消息传输不需要知道负载内容;使用 TCP/IP 提供网络连接。有三种消息发布的服务质量:至多一次、至少一次、只有一次。
? ? ? ? ? MQTT提供will和Retain的消息选项,在客户端断线情况下,代理会通知所有订阅的客户端;保留消息使得新订阅的客户端也能收到消息通知。HTTP超文本传输协议,是为了提供和接收HTML界面开发,是基于客户端和服务器的请求响应协议。
HTTP有以下要点:

1,HTTP客户端通过URL向HTTP服务端发送请求。服务器根据接收到的请求后,向客户端发送响应信息。

2,请求消息Request:HTTP请求由四个部分组成,请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

3,响应消息Response:HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

从上可以看出,相比之下,MQTT有非常短的消息头,发布/订阅的消息模式。

对比而言,HTTP的请求/应答方式的会话都是客户端发起的,缺乏服务器通知客户端的机制,不支持will和Retain选项,MQTT不需要应答有强大的计算能力,更适用于移动设备,对电池消耗更低,在吞吐量、响应时间、带宽使用率方面都更适合威尼斯3775网站-5959cc威尼斯官网应用。


0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

XML 地图 | Sitemap 地图

威尼斯3775网站