【技术实现步骤摘要】
一种实现多路复用的MQTT协议通信方法及系统
本专利技术属于网络通信技术,具体涉及一种实现多路复用的MQTT协议通信方法及系统。
技术介绍
MQTT(消息队列遥测传输)是ISO标准(ISO/IECPRF20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。对于目前MQTT协议,MQTT通道和TCP通道一一对应,导致MQTT协议和传输层耦合在一起,具有低协议开销,对不稳定网络的容忍和故障恢复,支持大并发连接的优势。然而如图1所示,现有技术中MQTT客户端和TCP通道一一对应,TCP通道是无法复用的,目前的MQTT协议作为上层协议和传输层耦合在一起,不支持星型的网络拓扑结构,也无法支持传输层的多路复用,存在局限性。
技术实现思路
专利技术目的:本专利技术的目的在于解决现有技术中存在的不足,提供一种实现多路复用的MQTT协议通信方法及系统。技术方案:本专利技术的实现多路复用的MQTT协议通 ...
【技术保护点】
1.一种实现多路复用的MQTT协议通信方法,其特征在于:具体步骤如下:/n步骤1、在传输层建立若干TCP通道,同一组MQTT客户端共用同一条TCP通道与MQTT代理服务器进行通信连接,即:将同一组的若干MQTT客户端与TCP通道构成一对多映射关系,该一对多映射关系根据MQTT客户端的登录和离线动态生成;/n步骤2、在MQTT客户端通过TCP通道登录MQTT代理服务器,MQTT代理服务器获取MQTT客户端与TCP通道之间的映射关系,记录到MQTT客户端-TCP通道映射关系表中;/n步骤3,工作时,当MQTT代理服务器需要进行消息转发时,首先通过MQTT客户端ID来查询检测该M ...
【技术特征摘要】
1.一种实现多路复用的MQTT协议通信方法,其特征在于:具体步骤如下:
步骤1、在传输层建立若干TCP通道,同一组MQTT客户端共用同一条TCP通道与MQTT代理服务器进行通信连接,即:将同一组的若干MQTT客户端与TCP通道构成一对多映射关系,该一对多映射关系根据MQTT客户端的登录和离线动态生成;
步骤2、在MQTT客户端通过TCP通道登录MQTT代理服务器,MQTT代理服务器获取MQTT客户端与TCP通道之间的映射关系,记录到MQTT客户端-TCP通道映射关系表中;
步骤3,工作时,当MQTT代理服务器需要进行消息转发时,首先通过MQTT客户端ID来查询检测该MQTT客户端-TCP通道映射表,若找到对应的TCP通道且确定对应的MQTT客户端,则MQTT代理服务器接着进行消息转发,否则转发给该MQTT客户端的消息被丢弃。
2.根据权利要求1所述的实现多路复用的MQTT协议通信方法,其特征在于:所述步骤3中在查询检测MQTT客户端和TCP通道之间的一对多映射关系表时,分别独立判断TCP通道是否在线和MQTT客户端是否在线。
3.根据权利要求1所述的实现多路复用的MQTT协议通信方法,其特征在于:所述步骤3中判断TCP通道是否在线时以TCP通道是否收发消息数据为依据;若TCP通道没有收发消息数据,则判断TCP通道离线,并判断与该TCP通道连接的对应若干MQTT客户端也为离线,然后将消息数据丢弃;若TCP通道能够收发消息数据则判断TCP通道在线,且与之关联的MQ...
【专利技术属性】
技术研发人员:王顺,刘爽,闵济海,叶增军,姜红杉,
申请(专利权)人:南京天创电子技术有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。