客服端向服务端发布、订阅、取消

这篇具有很好参考价值的文章主要介绍了客服端向服务端发布、订阅、取消。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PUBLISH – 发布消息

MQTT客户端一旦连接到服务端,便可以发布消息。 每条发布的MQTT消息必须包含一个主题。MQTT服务器可以通过主题确定将消息转发给哪些客户端。

MQTT客户端发布消息时,会向服务端发送PUBLISH报文。以下是PUBLISH报文的详细信息。
客服端向服务端发布、订阅、取消
topicName – 主题名

主题名用于识别此信息应发布到哪一个主题。
packetId – 报文标识符

报文标识符可用于对MQTT报文进行标识。不同的MQTT报文所拥有的标识符不同。MQTT设备可以通过该标识符对MQTT报文进行甄别和管理。请注意:报文标识符的内容与QoS级别有密不可分的关系。只有QoS级别大于0时,报文标识符才是非零数值。如果QoS等于0,报文标识符为0。

QoS – 服务质量等级

QoS(Quality of Service)表示MQTT消息的服务质量等级。QoS有三个级别:0、1和2。

retainFlag – 保留标志

在默认情况下(false),当客户端订阅了某一主题后,并不会马上接收到该主题的信息。只有在客户端订阅该主题后,服务端接收到该主题的新信息时,服务端才会将最新接收到的该主题信息推送给客户端。
但是在有些情况下,我们需要客户端在订阅了某一主题后马上接收到一条该主题的信息。这时候就需要将retainFlag 设为true,服务端将这些retainFlag 设为true的消息保留在本地,当有新的订阅该主题时,就会把消息发给客户端。

Payload – 有效载荷

有效載荷是我们希望通过MQTT所发送的实际内容。我们可以使用MQTT协议发送文本,图像等格式的内容。这些内容都是通过有效載荷所发送的。

dupFlag – 重发标志

当MQTT报文的接收方没有及时确认收到报文时,发送方会重复发送MQTT报文。在重复发送MQTT报文时,发送方会将此“重发标志”设置为true。请注意,重发标志只在QoS级别大于0时使用。

SUBSCRIBE – 订阅主题

客户端要想订阅主题,首先要向服务端发送主题订阅请求。客户端是通过向服务端发送SUBSCRIBE报文来实现这一请求的。该报文包含有一系列“订阅主题名”。请留意,一个SUBSCRIBE报文可以包含有单个或者多个订阅主题名。也就是说,一个SUBSCRIBE报文可以用于订阅一个或者多个主题。

SUBACK – 订阅确认

服务端接收到客户端的订阅报文后,会向客户端发送SUBACK报文确认订阅。

SUBACK报文包含有“订阅返回码”和“报文标识符”这两个信息。

returnCode – 订阅返回码

客户端向服务端发送订阅请求后,服务端会给客户端返回一个订阅返回码。

在之前的讲解中我们说过,客户端可通过一个SUBSCRIBE报文发送多个主题的订阅请求。服务端会针对SUBSCRIBE报文中的所有订阅主题来逐一回复给客户端一个返回码。

这个返回码的作用是告知客户端是否成功订阅了主题。以下是返回码的详细说明。
客服端向服务端发布、订阅、取消
另外每一个SUBACK报文也包含有“报文标识符”。MQTT设备可以通过该标识符对报文进行管理。

UNSUBSCRIBE – 取消订阅

顾名思义,当客户端要取消订阅某主题时,可通过向服务端发送UNSUBSCRIBE – 取消订阅报文来实现。
客服端向服务端发布、订阅、取消
以上示意图显示,UNSUBSCRIBE报文包含两个重要信息,第一个是取消订阅的主题名称。同一个UNSUBSCRIBE报文可以同时包含多个取消订阅的主题名称。另外,UNSUBSCRIBE报文也包含“报文标识符”,MQTT设备可以通过该标识符对报文进行管理。

当服务端接收到UNSUBSCRIBE报文后,会向客户端发送取消订阅确认报文 – UNSUBACK报文。该报文含有客户端所发送的“取消订阅报文标识符”。

客户端接收到UNSUBACK报文后就可以确认取消主题订阅已经成功完成了。

<- 返回MQTT篇目录文章来源地址https://www.toymoban.com/news/detail-468874.html

到了这里,关于客服端向服务端发布、订阅、取消的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于redisson实现发布订阅(多服务间用避坑)

           今天要分享的是基于Redisson实现信息发布与订阅(以前分享过直接基于redis的实现),如果你是在多服务间基于redisson做信息传递,并且有服务压根就收不到信息,那你一定要看完。        今天其实重点是避坑,真正的集成使用就几步。        介绍的文字我

    2024年02月04日
    浏览(40)
  • Vue中信息订阅与发布和配置代理服务器的使用和原理

    全局事件总线和信息订阅与发布一样都是实现任意组件的通信。常用的是全局事件总线 信息订阅与发布借用第三方库pubsub实现任意组件的通信 安装pubsub 下列代码为MyHeader组件订阅了一份信息,MyFooter负责传递信息给MyHeader 触发点击事件发布信息给MyHeader 假设目前有两个端口的

    2024年02月03日
    浏览(40)
  • 【MQTT协议】使用Mosquitto实现mqtt协议(二):编写视频帧的发布/订阅服务

    更多内容详见 【MQTT协议】使用c++实现mqtt协议(Mosquitto源码编译) MQTT协议中的QoS(Quality of Service)表示消息传输的服务质量等级,它是MQTT协议中非常重要的一个概念。 MQTT协议中定义了三个不同等级的QoS: QoS 0:最多一次(At most once)传输。消息发布者只发送一次消息,不

    2023年04月14日
    浏览(43)
  • 物联网云智能开发—MosQuitto服务器的安装 测试 订阅&发布及加密教程

    官方介绍 Eclipse Mosquitto是一个开放源码(EPL/EDL许可)消息代理,它实现了MQTT协议版本5.0、3.1.1和3.1。mosquitto是轻量级的,适用于所有设备,从低功率单板计算机到全服务器。MQTT协议提供了使用发布/订阅模型执行消息传递的轻量级方法。这使得它适用于物联网消息传递,如低功

    2024年04月28日
    浏览(36)
  • copilot 取消订阅(付费)

    copilot 现在开始收费了,一个月10刀,大概六七十块钱。取消订阅的话,可以按照以下方法操作。 1,登录自己的github账号,在自己账号头像处点开setting设置。 2,在左侧栏目选择billing and plans (付费计划) 3,在这之中找到github copilot这一项目,在右侧edit下拉框中点击cancel(取消

    2024年02月11日
    浏览(46)
  • 前端mqtt的详细使用(包含mqtt服务器部署,前端vue3使用mqtt连接、订阅主题、发布等)

    ​ MQTT(消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。MQTT 协议的应用场景包括物联网、移动应用、车联网、智能

    2024年02月08日
    浏览(64)
  • 微信小程序客服系统-对接消息推送-对接模板订阅消息-嵌入webview客服链接

    想要给自己的小程序增加客服系统功能 小程序客服对接导自己的系统等需求,可以参照我开发的客服系统,实现私有化部署搭建对接的微信小程序 首先登录小程序后台 在小程序后台==开发管理==开发设置==服务器域名部分,配置好自己的域名 再往上翻,开发者ID部分,把App

    2024年02月15日
    浏览(49)
  • 从零开始用Nodejs搭建一个MQTT服务器,并且用stm32通过esp8266进行消息订阅和发布

    最近在做一个物联网项目,需要用到服务器进行数据的存储和数据的请求和发送,之前我用过onenet平台上的http服务,虽然能通过get和post请求进行数据的提交和发送,但是平台上的数据发生改变却不能主动推送给esp8266,与我此次的项目不符合,所以pass。然后我了解了下mqtt协

    2024年02月04日
    浏览(50)
  • Android 开源库发布到MavenCentral,jitpack (gradle-maven-publish-plugin(1)

    Email: 邮箱帐号,在 Sonatype 上的相关操作,会通知到这个邮箱帐号 Full name: 填写联系人名称 Username: Sonatype 的登录帐号 Password: 登录密码,要求至少8位,并带有大小写字母和字符 / 创建Project工单 /注册完成后,就可以进行登录了,登录进去后,可以发现,他其实是一个JIRA系统

    2024年04月15日
    浏览(48)
  • RuoYi-Vue前后端分离搭建MQTT服务器实现消息订阅、发布、数据存储 (EMQX Windows10)最全,懒人操作

    1、在RuoYi-Vue项目的superVisualizationSys-common模块下的pom.xml加入jar包依赖 3、在superVisualizationSys-commonsrcmainjavacomsuperVisualizationcommonutils目录下新建mqtt文件夹,添加以下三个文件 注:项目报红的地方可以按Alt+Enter键导包 下载路径: https://www.emqx.io/zh/download   1. 在windows上安装

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包