预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108965265A(43)申请公布日2018.12.07(21)申请号201810672487.6(22)申请日2018.06.26(71)申请人四川斐讯信息技术有限公司地址610100四川省成都市龙泉驿区龙泉街道公园路125号(72)发明人史龙(74)专利代理机构成都金德联合知识产权代理事务所(特殊普通合伙)51271代理人张婵婵王晓普(51)Int.Cl.H04L29/06(2006.01)H04L12/58(2006.01)权利要求书2页说明书7页附图4页(54)发明名称一种基于MQTT协议的聊天方法及系统(57)摘要本发明公开了一种基于MQTT协议的聊天方法及系统,其聊天方法包括步骤:S1:获取第一用户的身份ID信息;S2:根据上述第一用户的身份ID信息,与MQTT服务器进行连接;S3:创建会话窗口并与会话窗口内的用户进行会话。本发明的技术方案是在客户端与MQTT服务器之间进行长连接的基础上,使各个用户间的消息进行即时收发,以实现各个用户间进行聊天的目的,且能够避免即时聊天的客户端多次轮询服务器而造成服务器超负荷的问题。另外,客户端与MQTT服务器进行长连接还能够有效降低网络流量的浪费及电量消耗,具有较好的实用性。CN108965265ACN108965265A权利要求书1/2页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信息;服务器连接模块,用于根据所述第一用户的身份ID信息,与MQTT服务器进行连接;第一创建模块,用于创建会话窗口并与所述会话窗口内的用户进行会话。7.如权利要求6所述的一种基于MQTT协议的聊天系统,其特征在于,所述第一获取模块包括:第二获取模块,用于获取第一用户的注册信息;第一发送模块,用于发送所述第一用户的注册信息至MQTT服务器;2CN108965265A权利要求书2/2页第一接收模块,用于接收所述MQTT服务器所生成的第一用户的身份ID信息。8.如权利要求6或7所述的一种基于MQTT协议的聊天系统,其特征在于,所述服务器连接模块包括:长连接模块,用于根据所述第一用户的身份ID信息,与所述MQTT服务器进行长连接;函数预置模块,用于预置on_message回调函数。9.如权利要求8所述的一种基于MQTT协议的聊天系统,其特征在于,所述第一创建模块包括:第一判断模块,用于判断是否与第二用户进行单独聊天;第一订阅模块,用于搜索第二用户并使所述第一用户与第二用户均自动订阅所述MQTT服务器所生成的第一通讯主题;第二创建模块,用于创建与所述第二用户进行单独聊天的会话窗口;第一通讯模块,用于根据所述第一通讯主题,与所述第二用户进行消息包的相互收发;和/或,第二判断模块,用于判断是否与多个用户进行群聊;第二订阅模块,用于使所述进行群聊的所有用户均自动订阅所述MQTT服务器所生成的群通讯主题;第三创建模块,用于创建群聊会话窗口;第二通讯模块,