0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MQTT中服务端和客户端

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-30 14:55 次阅读

MQTT 是一种基于客户端-服务端架构(C/S)的消息传输协议,所以在 MQTT 协议通信中,有两个最为重要的角色,它们便是服务端和客户端。

1)服务端

MQTT 服务端通常是一台服务器(broker),它是 MQTT 信息传输的枢纽,负责将 MQTT 客户端发送来的信息传递给 MQTT 客户端;MQTT 服务端还负责管理 MQTT 客户端,以确保客户端之间的通讯顺畅,保证 MQTT 信息得以正确接收和准确投递。

2)客户端

MQTT 客户端可以向服务端发布信息,也可以从服务端收取信息;我们把客户端发送信息的行为称为 “发布”信息。

3)MQTT 主题

上面我们讲到了,客户端想要从服务器获取信息,首先需要订阅信息,那客户端如何订阅信息呢?这里我们要引入“主题(Topic)”的概念,“主题”在 MQTT 通信中是一个非常重要的概念,客户端发布信息以及订阅信息都是围绕“主题”来进行的,并且 MQTT 服务端在管理 MQTT 信息时,也是使用“主题”来控制的。

客户端发布消息时需要为消息指定一个“主题”,表示将消息发布到该主题;而对于订阅消息的客户端 来说,可通过订阅“主题”来订阅消息,这样当其它客户端或自己(当前客户端)向该主题发布消息时,MQTT 服务端就会将该主题的信息发送给该主题的订阅者(客户端)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134391
  • 物联网
    +关注

    关注

    2869

    文章

    41622

    浏览量

    358376
收藏 人收藏

    评论

    相关推荐

    TCP服务端测试工具

    本帖最后由 小子个 于 2024-3-20 22:58 编辑 该TCP服务端工具可以理解为 “TCP服务端” 或者 “服务器” ,目的是帮助大家在没有服务器的情况下,完成
    发表于 06-29 09:22

    TCP多客户端和单服务端之间通信问题

    假如有多个客户端同时连接到服务端,怎么知道是哪个客户端传输数据过来,是有事件还是一个个轮询过去呢
    发表于 12-22 21:25

    如何解决客户端模式接收数据会自动断开的问题?

    【问题描述】服务端是网络调试助手,客户端是图示程序。每次服务端发几分钟数据后,客户端自己就会断开,不知道什么原因w(゚Д゚)ww(゚Д゚)w
    发表于 06-11 15:11

    TCP服务端的实现

    Swoole TCP服务端客户端 持续更新
    发表于 09-26 16:04

    如何在Lwip做服务端应用时实现多个客户端连接?

    请问Lwip做服务端应用时,怎么实现多个客户端同时连接它(带操作系统)!!!请大家指点一下!
    发表于 11-11 01:06

    【求助】W5500UDP组播,客户端服务端区分?以及接收怎么加入组播组?

    本人学生,最近的项目用到STM32+W5500的开发板,需要用W5500完成UDP组播功能,目前有以下两个问题,求各位大神帮忙解答一下:1、UDP组播中客户端服务端怎么区分,比如电脑给开发板发消息
    发表于 04-03 16:47

    TCP通信时服务端如何接收客户端的数据?

    毕设采用的是TCP协议,组员做的是下位机,C编程,WiFi模块工作处于客户端。我负责上位机,Labview使用tcp协议时服务端怎么接收客户端的数据呢? 我找到的例程都是服务端发、
    发表于 04-14 14:49

    LabVIEW 做TCP服务端怎么把多个客户端区分开

    LabVIEW 做TCP服务端因为要连接四个客户端假如有四个客户端分别是1号 2号 3号 4号,这四个客户端分开单独控制,每次连接客户端的I
    发表于 05-29 16:48

    监控系统客户端服务端设计

    详情2.1.2 数据库接口及实现2.1.2.1 用户注册2.1.2.2 用户查询2.2 监控系统客户端服务端设计2.2.1 `CS`模型2.2.2 功能2.2.2 服务机与客户机交互
    发表于 12-21 07:02

    基于Eclipse paho-mqtt源码包的MQTT客户端设计(上)

    泛的应用。MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机
    发表于 08-04 16:28

    基于Eclipse paho-mqtt源码包的MQTT客户端设计(下)

    */paho_mqtt_start(&client);启动 MQTT 客户端之后,客户端会自动连接代理服务器,自动订阅已经设置的
    发表于 08-04 16:33

    CH395作为TCP客户端,连接电脑TCP服务端的时间很长怎么解决?

    CH395作为TCP客户端,电脑作为TCP服务端,第一次连接时很快就能连接上只需1秒。TCP客户端与TCP服务端进行数据发输2,3次后,在电脑TCP
    发表于 10-14 06:09

    通讯猫MQTT服务器在线客户端的问题

    我在网上找一个通讯猫MQTT服务器在线客户端。我有点糊涂,到底是服务器,还是客户端。可以连上,也可以发数据,就是不知道跟谁连。我从上面下了个
    发表于 11-19 12:17

    RyanMqtt实现MQTT3.1.1协议的客户端

    还没有同步到packages库列表,暂时还无法在软件包列表搜索到。提pr应该3天了…….介绍RyanMqtt 实现了 MQTT3.1.1 协议的客户端。此库针对资源受限的嵌入式设备进行了优化。初衷:在
    发表于 12-01 15:19

    AT32基于FreeRTOS的AWS MQTT客户端

    AT32基于FreeRTOS的AWS MQTT客户端建立一个MQTT客户端与 AWS IoT Core进行通讯,用户可以基于这个范例去开发属于自己的应用。
    发表于 10-26 06:03