[发明专利]一种基于MQTT-WebSocket的消息收发方法在审
申请号: | 202110331845.9 | 申请日: | 2021-03-29 |
公开(公告)号: | CN113162989A | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 蒲鹏;陈烨 | 申请(专利权)人: | 华东师范大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 上海蓝迪专利商标事务所(普通合伙) 31215 | 代理人: | 徐筱梅;张翔 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mqtt websocket 消息 收发 方法 | ||
本发明公开了一种基于MQTT‑WebSocket的消息收发方法,包括如下步骤:1)对服务端进行相关配置,启动MQTT代理消息队列服务器,开放WebSocket端口;2)对客户端进行相关配置,创建连接实例,为实例注册一系列监听事件,并提供认证凭证,随后发起连接请求;3)客户端成功连接消息服务器后,通过WebSocket协议保持长连接;客户端可以作为发布者向消息服务器通过MQTT协议发布带有主题的消息,使得消息服务器收到该消息后,根据其所携带的主题插入至相应消息队列末尾,完成消息的发布;4)客户端也可以作为订阅者订阅指定主题,使得消息服务器将消息队列中待发送的消息依次发送至订阅者,完成消息的接收。本发明能够提升连接的稳定性和性能,并提升消息的传输效率。
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于MQTT-WebSocket (MessageQueuing Telemetry Transport over WebSocket)的消息收发方法。
背景技术
从共享单车等产品进入公众视野后,物联网平台的热度大大增加,而业务需求对服务器与移动设备或轻量级设备实时通信的要求也越来越频繁,比如用户可以通过使用手机扫描打印机的二维码上传PDF文件进行打印,这就要求打印机与手机之间需要建立双向通信。目前较为常用的技术一般是利用MQTT协议+HTTPS或WebSocket长连接实现,这两种方式受网络环境和设备性能影响较大,当消息较多或客户端连接数较大时,容易出现传输缓慢或消息丢失的现象,不能满足现有业务的需要。
发明内容
本发明的目的旨在提供一种基于MQTT-WebSocket的消息收发方法,该方法既能保证消息传输稳定不丢失,又能拥有较高的传输效率,使得数据包能够实时传输并降低消息服务器的压力。
实现本发明目的的具体技术方案是:
一种基于MQTT-WebSocket的消息收发方法,方法包括如下步骤:
(1) 对服务端进行配置,启动MQTT代理消息队列服务器,开放WebSocket端口;其中,所述配置:以账密的形式设置token认证凭证;升级HTTP协议以支持WebSocket协议;
(2) 对客户端进行配置,创建连接实例,为实例注册监听事件,并提供认证凭证,随后发起连接请求;其中,所述配置:给定唯一的客户端id供消息服务器辨识;在上线时接收未确认过的离线消息;所述注册监听事件有:上线事件、下线事件、订阅主题事件、发布消息事件及接收消息事件;
(3) 客户端成功连接消息服务器后,通过WebSocket协议保持长连接,客户端作为发布者向消息服务器通过MQTT协议发布带有主题的消息,使得消息服务器收到该消息后,根据其所携带的主题插入至相同主题的消息队列末尾,完成消息的发布;
(4)客户端作为订阅者订阅指定主题,使得消息服务器将消息队列中待发送的消息依次发送至订阅者,完成消息的接收。
步骤(3)中所述带有主题的消息以字节流或JSON字符串的形式发送,并且设定低或高的服务质量:设定低服务质量时,消息只会发送最多一次;设定高服务质量时,消息被接收处理后消息服务器会自动向客户端发送“完成”的通知,确保消息被发送至少一次。
所述步骤(4)中订阅指定主题时设定接收低或高服务质量的消息;在接收消息事件中处理消息时,需要按照其发送时的数据格式进行解码;设定低服务质量时,消息只会接收最多一次;设定高服务质量时,消息被接收处理后客户端会自动向消息服务器发送“完成”的通知,确保消息被接收至少一次。
本发明的有益效果:
(1)消息服务器作为一个消息收发管理中心,提供了稳定快速的传输保障。减少了客户端对消息管理的压力,高服务质量的消息也避免了客户端意外掉线造成消息丢失的情况。
(2)将MQTT协议的消息通过WebSocket端口传输,有益地结合了两者各自的优势,既提升了连接的稳定性和性能,也提升了消息的传输效率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110331845.9/2.html,转载请声明来源钻瓜专利网。