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

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

3天内不再提示

服务端如何控制客户端之间的信息通讯

麦辣鸡腿堡 ? 来源:嵌入式Linux系统开发 ? 作者:嵌入式Linux系统开 ? 2023-07-30 15:10 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

服务端如何通过“主题”来控制客户端之间的信息通讯,看下图实例:

图片

在以上图示中一共有三个 MQTT 客户端,它们分别是开发板、手机电脑。MQTT 服务端在管理 MQTT通信时使用了“主题”来对信息进行管理。

比如上图所示,假设我们需要利用手机和电脑获取开发板在运行过程中 SoC 芯片的温度,那么首先电脑和手机这两个客户端需要向 MQTT服务器订阅主题“芯片温度”;接下来,当开发板客户端向服务端的“芯片温度”主题发布信息(假设信息的内容就是当前的温度值)后,服务端就会首先检查都有哪些客户端订阅了“芯片温度”这一主题的信息,而当它发现订阅了该主题的客户端有一个手机和一个电脑,于是服务端就会将刚刚收到的“芯片温度”信息转发给订阅了该主题的手机和电脑客户端。

通过以上的这种实例,手机和电脑便可以获取到开发板运行时 SoC 芯片的温度值。

以上实例中,开发板是“芯片温度”主题的发布者,而手机和电脑则是该主题的订阅者。

值得注意的是,MQTT 客户端在通信时,角色往往不是单一的,一个客户端既可以作为信息发布者也 可以同时作为信息订阅者。如下图所示:

图片

上图中的所有客户端都是围绕“LED 控制”这一主题进行通信。此时,对于“LED 控制”这一主题来 说,手机和电脑客户端成为了 MQTT信息的发布者而开发板则成为了 MQTT 信息的订阅者(接收者)。

所以由此可知,针对不同的主题,MQTT 客户端可以切换自己的角色,它们可能对主题 A 来说是信息发布者,但是对于主题 B 就成了信息订阅者,所以一个MQTT 客户端它的角色并不是固定的,所以大家一定要理解“主题”这个概念。

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

    关注

    2932

    文章

    46349

    浏览量

    394184
  • 客户端
    +关注

    关注

    1

    文章

    301

    浏览量

    17120
  • 服务端
    +关注

    关注

    0

    文章

    68

    浏览量

    7253
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux网络编程-TCP客户端如何获取要连接的服务端IP?

    本篇介绍了在TCP通信中,客户端通过UDP广播,实现自动获取服务端的IP地址,并进行TCP连接的具体方法,并通过代码实现,来测试此方案是实际效果,为了使服务端能够处理多个客户端的请求,
    的头像 发表于 09-27 08:56 ?6154次阅读
    Linux网络编程-TCP<b class='flag-5'>客户端</b>如何获取要连接的<b class='flag-5'>服务端</b>IP?

    如何能使服务器向所有客户端信息并且能接收全部的信息

    同时发送数据。但是现在遇到问题,服务端不能接收到所有连接的客户端向其发送的数据,只能收到最后一个连接的客户端服务端发送的数据,其他的客户端
    发表于 11-09 14:20

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

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

    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号,这四个客户端分开单独控制,每次连接
    发表于 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

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

    ,CH395客户端再去连接,这时需要时间很长2分钟左右 。如果CH395不回送通讯数据,在电脑TCP服务端断开TCP连接后,电脑TCP服务端再开监听,CH395
    发表于 10-14 06:09

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

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

    Android 仿QQ客户端服务端源码

    Android 仿QQ客户端服务端源码
    发表于 03-19 11:23 ?3次下载

    MQTT中服务端客户端

    器(broker),它是 MQTT 信息传输的枢纽,负责将 MQTT 客户端发送来的信息传递给 MQTT 客户端;MQTT 服务端还负责管理
    的头像 发表于 07-30 14:55 ?3243次阅读

    服务端测试和客户端测试区别在哪

    服务端测试和客户端测试是软件开发过程中的两个重要环节,它们分别针对服务器端客户端的软件进行测试。本文将详细介绍服务端测试和
    的头像 发表于 05-30 15:27 ?4696次阅读

    服务端测试是web测试吗为什么

    客户端请求、执行业务逻辑、与数据库交互等。服务端测试的目的是确保服务器端的软件组件能够按照预期工作,没有错误,并且能够满足性能要求。 服务端测试的类型 单元测试 :针对单个函数或模块进
    的头像 发表于 05-30 15:30 ?1244次阅读