在云服务器上搭建了mqtt,为什么手机连接不上mqtt,要怎么做才能连接上?求求大神帮忙

在云服务器上搭建了mqtt,为什么手机连接不上mqtt,要怎么做才能连接上?求求大神帮忙,第1张

MQTT (Message Queuing Telemetry Transport,消息队列遥测传输) 是一种基于 TCP/IP 协议族的应用层协议。MQTT 协议是专门针对硬件性能低下 & 网络状况不稳定的场景设计的,这使得 MQTT 在物联网和移动应用等受限场景得到广泛应用。

目前,MQTT 主要分为两个大版本:

物联网和移动应用场景的特点是硬件性能低下和网络状况不稳定,而 MQTT 协议就是专门针对这种环境设计的,主要在四个方面有优势:

结论:这三种协议并没有绝对的优胜者,最好的协议取决于具体的需求和限制条件。但如果只从带宽、电池、功能多样性这些基本条件看,MQTT 在其中是更占优的选择。

MQTT 协议的设计特性中包含了一项 “高可靠性交付”,它需要一个保证可靠的底层传输层协议,因此 TCP 协议、TLS 协议、WebSocket 协议都可以作为 MQTT 的底层协议。而无连接的 UDP 协议会丢失或重排数据,不能满足 MQTT 协议的传输需要。

MQTT 是基于发布 - 订阅模型 (pub/sub) 的消息传递协议,与请求 - 响应模型不同,发布 - 订阅模型主要有三种角色: publisher & subscriber & subscriber

当 client 发布某个主题的消息时,broker 会将该消息分发给任何已订阅该主题的 client。通常来说,client 不会存储消息,一旦消息被发送到这些 client,消息就会从 broker 上删除。另外,保留消息、持久连接和服务质量 QoS 可能会导致消息临时存储在 broker 上。

发布 - 订阅模式使得 消息的发布者和订阅者解耦 ,主要体现为空间解耦和时间解耦:

引用自 >MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。例如:\x0d\①网络代价昂贵,带宽低、不可靠。\x0d\②在嵌入设备中运行,处理器和内存资源有限。\x0d\该协议的特点有:\x0d\①使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。\x0d\②对负载内容屏蔽的消息传输。\x0d\③使用 TCP/IP 提供网络连接。\x0d\④有三种消息发布服务质量:\x0d\⑤"至多一次",消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。\x0d\⑥"至少一次",确保消息到达,但消息重复可能会发生。\x0d\⑦"只有一次",确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。\x0d\⑧小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。\x0d\⑨使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。\x0d\WebSocket则提供使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代网页和服务器采用>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10462229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存