一种基于MQTT协议的消息处理方法技术

技术编号:41713793 阅读:24 留言:0更新日期:2024-06-19 12:42
本发明专利技术公开了一种基于MQTT协议的消息处理方法,方法包括:接收MQTT消息并将其存储至消息管理单元,唤醒一个消息获取线程,拿取消息管理单元存储的MQTT消息,根据拿取到的MQTT消息的主题判断所述MQTT消息是否订阅;将订阅的MQTT消息传递到与该消息的主题对应的回调函数;若生成MQTT消息的回复消息Response1需发布嵌套请求消息,则回调函数解析所述MQTT消息,同时发送嵌套请求消息;待嵌套回复消息返回后,接收嵌套回复消息并将其存储至消息管理单元,唤醒另一消息获取线程,拿取嵌套回复消息,并给到订阅该嵌套回复消息主题的回调函数;回调函数解析嵌套回复消息,生成回复消息Response1。在减少开发者的工作量以及开发成本的情况下,可以实现嵌套消息通信。

【技术实现步骤摘要】

本专利技术涉及通信,尤其涉及一种基于mqtt协议的消息处理方法。


技术介绍

1、使用mqtt协议进行通信时,会出现如下消息通信需求,参考图1:客户端a发布请求消息request1,想获得某一消息msg1,订阅请求消息request1的客户端b,在收到请求消息request1后,发布请求消息request2,并待收到回复消息response2后,生成和发布客户端clienta订阅的回复消息response1(response1携带msg1),客户端c订阅请求消息request2,并在收到请求消息request2后,生成和发布户端b订阅的回复消息response2。上述的客户端a、客户端b和客户端c为安装了mqtt客户端的电子设备或电子设备中的某一应用模块。

2、上述消息通信需求,一般是会出现在这样的应用场景:客户端a不具备解析mqtt消息response2的功能,且为客户端a设计这一功能会大大增加开发者的工作量、难度和开发成本。本文为了方便描述,将上述生成回复消息的过程中还需要发布另一请求消息、获得另一回复消息的特殊消息通信方式,称为嵌套消息通信本文档来自技高网...

【技术保护点】

1.一种基于MQTT协议的消息处理方法,应用于客户端,其特征在于,方法包括:

2.根据权利要求1所述的基于MQTT协议的消息处理方法,其特征在于,在发布MQTT消息时,会为每条MQTT消息设置优先级数值,优先级共有0和1两级,数字越大优先级越高,所述嵌套请求消息和嵌套回复消息优先级为1,其余MQTT消息的优先级为0。

3.根据权利要求2所述的基于MQTT协议的消息处理方法,其特征在于,消息管理单元收到每一条MQTT消息后,会将新收到的MQTT消息和已存储的MQTT消息按照优先级高低进行拿取顺序的存储排序,优先级高的MQTT消息先被拿取,同等优先级的接收时间早的先被...

【技术特征摘要】

1.一种基于mqtt协议的消息处理方法,应用于客户端,其特征在于,方法包括:

2.根据权利要求1所述的基于mqtt协议的消息处理方法,其特征在于,在发布mqtt消息时,会为每条mqtt消息设置优先级数值,优先级共有0和1两级,数字越大优先级越高,所述嵌套请求消息和嵌套回复消息优先级为1,其余mqtt消息的优先级为0。

3.根据权利要求2所述的基于mqtt协议的消息处理方法,其特征在于,消息管理单元收到每一条mqtt消息后,会将新收到的mqtt消息和已存储的mqtt消息按照优先级高低进行拿取顺序的存储排序,优先级高的mqtt消息先被拿取,同等优先级的接收时间早的先被拿取;唤醒的消息获取线程按照排序依次取走mqtt消息。

4.根据权利要求3所述的基于mqtt协议的消息处理方法,其特征在于,所述消息管理单元收到每一条mqtt消息后,会将新收到的mqtt消息和已存储的mqtt消息按照优先级高低进行拿...

【专利技术属性】
技术研发人员:桑栋翟慧孙峰刘建伟李志远李福刚高思阳王子寒
申请(专利权)人:山东通广电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1