当前位置:首页 > 天道酬勤 > 正文内容

物联网 netty mq(mqtt和xmpp哪个好)

张世龙2021年12月21日 16:53天道酬勤450

MQTT表示消息队列遥测传输。 超级帅的网络,那是在两点之间传输消息的协议。 MQTT之所以如此特别,是因为它是超轻的体系结构,非常适合带宽较差的场景。

MQTT的高级体系结构主要分为代理和客户端两部分。

代理是体系结构的核心,具有订阅者和发布者的能力。 这是所有客户的联系方式。 的主要工作是将消息从发布客户端排队传输到订阅客户端。 但是,如果需要,也可以设置和使用具有更强大功能的代理服务,如SSL认证、日志和数据库存储。

客户端的一部分进一步分为发行者和订阅者。 由于客户端是进入边缘设备的实际软件组件,因此其设计非常轻量级,ffdzdj已经处理了轻量级体系结构的大部分处理。

因此,MQTT客户端有一个非常具体和简单的任务。 演讲者-客户发布具有主题和质量的消息; 读者-客户端使用主题和质量订阅消息。 这就是它的重点。 几乎适用于所有操作系统- Mac、Windows和Linux; 然后是Raspbian和安卓等单板和移动操作系统。 它们作为应用也存在着!

MQTT细节

当然,MQTT很简单,很棒,但是采用了巧妙的工程。 以下是MQTT的主要组件的详细情况。

消息

这是要发送的信息。 通常称为“消息有效载荷”,缺省情况下设置为纯文本格式,因此用户可以灵活地将消息有效载荷构建为任何所需的格式。

话题

各MQTT通信依赖于“主题”的概念。 每个唯一的主题定义发布者和订户之间的唯一管道或连接。 基本上,如果发布的消息的主题与订阅的主题相匹配,则订阅者将获取消息。 就这么简单!

变得更好了。 在MQTT中,还可以在主题中定义层次。 层次级别由斜线分隔。 例如,在客厅输送温度的主题可能是“家/客厅/温度”。 这基本上把等级定义为“温度是客厅的孩子,那是家里的孩子”。 这也适用于其他房间,如“房子/厨房/温度”和“房子/卧室/温度”。

也可以使用称为通配符的内容订阅多个传感器。 有两个通配符。 “”和“#”。 加号是单层通配符,只能指定层次结构中的一个任意值。 另一方面,yxdbg符号可以从所有基本层次结构级别输入数据。

例如,在上例中,房子/ /温度表示客厅、厨房和卧室的温度值。 订阅“hou se /#”主题意味着订阅以house为中心的所有父主题。

服务质量

为了提供保证消息收发的灵活性,存在服务质量功能。 MQTT QoS只能以6位-0、1、2进行布局。

QoS-0是最不可靠的。 使用QoS 0发布的消息将由发布器发送和忘记,而不是检查消息是否成功分发。

QoS-1有“至少”传达一次信息的概念。 任何消息都保证至少发送一次,但也可以多次发送。

QoS-2最可靠-“正好一次”。 代理人保证消息只到达目的地一次。 QoS的可靠性与带宽的消耗量成正比。 可靠性和带宽的消耗量变高。

安全了

MQTT真的想要轻量级的。 另外,MQTT作为协议具有APP应用层的安全对策。 例如,每个客户机(发布者和订户)都有客户机名称和客户机ID。 MQTT代理提供了实现验证的选项,客户端必须拥有正确的用户名和密码才能连接到代理。

但是,MQTT也可以通过多层安全性来实现。 每层都可以防止不同种类的攻击。 协议本身规定了大多数安全机制,但MQTT可以使用所有其他最先进的安全标准的常见实现,如网络层的VPN和传输层的SSL/TLS。 我们的想法是不重新发明车轮; 相反,它基于可接受和易于实施的标准。

MQTT可以很容易地嵌入到大多数流行语言中- Java、Python、Perl、Ruby、c、c、节点、Swift、Go、Lua和PHP几乎涵盖了所有可能的语言

虽然MQTT是在考虑机械对机械的基础上设计的,但是其功能更广泛。 有创造性的空间。 处理从机器到云、从云到机器、从APP到APP的通信。 即使用不同语言写的不同APP需要相互通信,也不会出汗。 只需设置代理,然后将MQTT客户端代码段插入APP应用程序。 他们开心地互相说话。

MQTT对于许多在不同环境中模块化的组件相互通信的物联网项目很有用。 MQTT的简单性和效率减少了无数的时间,使不同的组件能够使用不同的语言通过不同的协议相互通信。

上手体验

通过简单的4个步骤即可体验MQTT。

下载mqttbox(chrome扩展),然后创建一个包含连接到代理(在这种情况下为hive MQ公共代理)的详细信息的客户端

r)添加订阅者和发布者,两者都具有匹配的主题发送消息来自出版商,并观看消息神奇地出现

当然,这是为了让你入门。MQTT Box是基于应用程序的MQTT客户端。HiveMQ是一种代理服务,你可以下载以在本地使用,或者付费以使用云代理服务。

想GET技能?

下载Mosquitto MQTT Broker(Mosquitto是众多其他MQTT Broker服务提供商之一,如HiveMQ,RabbitMQ,EMQTT等)下载Mosquitto MQTT客户端(mosquitto_pub和mosquitto_sub)从MQTTcommands启动代理从MQTT命令启动订户从MQTT命令发布消息

这是一些工具参考命令:

Mosquitto Broker CLI命令Mosquitto Publisher CLI命令Mosquitto订户CLI命令

一旦你运行了代理,你就可以实际连接任何类型的客户端(发布者和订阅者):无论是命令行客户端,NiFi客户端,MQTT Box客户端,还是作为代码片段存在的客户端自己的应用。


文 | 小隐 云隐科技 希望用物联网领域项目经验和文字带您感受物联时代。


扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26441.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。