一种基于MQTT协议的聊天方法及系统技术方案

技术编号:19703046 阅读:34 留言:0更新日期:2018-12-08 14:24
本发明专利技术公开了一种基于MQTT协议的聊天方法及系统,其聊天方法包括步骤:S1:获取第一用户的身份ID信息;S2:根据上述第一用户的身份ID信息,与MQTT服务器进行连接;S3:创建会话窗口并与会话窗口内的用户进行会话。本发明专利技术的技术方案是在客户端与MQTT服务器之间进行长连接的基础上,使各个用户间的消息进行即时收发,以实现各个用户间进行聊天的目的,且能够避免即时聊天的客户端多次轮询服务器而造成服务器超负荷的问题。另外,客户端与MQTT服务器进行长连接还能够有效降低网络流量的浪费及电量消耗,具有较好的实用性。

【技术实现步骤摘要】
一种基于MQTT协议的聊天方法及系统
本专利技术涉及通信
,尤其涉及一种基于MQTT协议的聊天方法及系统。
技术介绍
即时通讯(Instantmessaging)是一个客户终端连网一个即时通讯网路的服务,其允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流,如:基于浏览器的web通讯、飞信、ICQ、QQ等多种即时通讯方式。但是现阶段的即时通讯软件,大多是基于HTTP协议的服务器与客户终端相连接实现的,其存在着以下缺点:1、HTTP协议是无状态的,基于HTTP协议的服务器不知道下次的会话与上一次的会话是否是同一用户,从而需要利用Cookie去管理用户,进而造成了服务器负荷过重,也增加了会话被盗窃的可能性;2、HTTP协议不支持真正意义上的长连接,而聊天软件又要求做到即时收发消息,从而,聊天软件app客户端需要不停的轮询服务器才能够实现即时通讯的目的,其持续轮询访问服务器将对客户端和服务器造成巨大的流量浪费及性能负担,而且其必然耗费大量的电能;3、HTTP协议的本身报文报头等需要占用较多的字节,进而造成流量的浪费,也减慢了通讯速度。如:申请号为201110454201.本文档来自技高网...

【技术保护点】
1.一种基于MQTT协议的聊天方法,其特征在于,所述聊天方法包括:S1:获取第一用户的身份ID信息;S2:根据所述第一用户的身份ID信息,与MQTT服务器进行连接;S3:创建会话窗口并与所述会话窗口内的用户进行会话。

【技术特征摘要】
1.一种基于MQTT协议的聊天方法,其特征在于,所述聊天方法包括:S1:获取第一用户的身份ID信息;S2:根据所述第一用户的身份ID信息,与MQTT服务器进行连接;S3:创建会话窗口并与所述会话窗口内的用户进行会话。2.如权利要求1所述的一种基于MQTT协议的聊天方法,其特征在于,所述步骤S1包括:S11:获取第一用户的注册信息;S12:发送所述第一用户的注册信息至MQTT服务器;S13:接收所述MQTT服务器所生成的第一用户的身份ID信息。3.如权利要求1或2所述的一种基于MQTT协议的聊天方法,其特征在于,所述步骤S2包括:S21:根据所述第一用户的身份ID信息,与所述MQTT服务器进行长连接;S22:预置on_message回调函数。4.如权利要求3所述的一种基于MQTT协议的聊天方法,其特征在于,所述步骤S3包括:判断是否与第二用户进行单独聊天;若是,则搜索第二用户,并使所述第一用户与第二用户均自动订阅所述MQTT服务器所生成的第一通讯主题;创建与第二用户进行单独聊天的会话窗口;基于所述第一通讯主题,与所述第二用户进行消息包的相互收发;和/或,判断是否与多个用户进行群聊;若是,则使所述进行群聊的所有用户均自动订阅所述MQTT服务器所生成的群通讯主题;创建群聊会话窗口;基于所述群通讯主题,与所述群聊会话窗口内的各个用户进行消息包的相互收发。5.如权利要求4所述的一种基于MQTT协议的聊天方法,其特征在于,所述步骤S3之后还包括:判断是否关闭与所述第二用户进行单独聊天的会话窗口;取消订阅所述第一通讯主题以关闭所述与第二用户进行单独聊天的会话窗口;或者,判断是否退出所述群聊会话窗口;取消订阅所述群通讯主题以退出所述群聊会话窗口。6.一种基于MQTT协议的聊天系统,其特征在于,所述聊天系统包括:第一获取模块,用户获取第一用户的身份ID信息;服务器连接模块,用于根据所述第一用户的...

【专利技术属性】
技术研发人员:史龙
申请(专利权)人:四川斐讯信息技术有限公司
类型:发明
国别省市:四川,51

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

1