基于xmpp协议的群组聊天方法及系统的制作方法

文档序号:8925131阅读:890来源:国知局
基于xmpp协议的群组聊天方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种基于XMPP协议的群组聊天方法及系统。
【背景技术】
[0002]随着互联网及移动互联网的发展,用户之间的社交沟通需求越来越强烈,如何即时高效、安全可靠地实现用户之间多对多的通信,是众多场景中亟需解决的问题。传统的即时通信方法一般只提供类似会议室的多对多通信服务,要求用户在参与多人聊天前加入会议室,在离开时退出会议室,服务端以此来判定用户的状态。由于移动互联网的网络不稳定,因此当上述的额外行为出现失败时,会导致服务端无法正确获知当前的状态,最终可能导致无法保证消息100%到达。

【发明内容】

[0003]本发明要解决的技术问题是为了克服现有技术中互联网多人聊天容易出现服务端无法正确获知用户的当前状态,因而造成消息有可能无法到达的缺陷,提供一种基于XMPP协议的群组聊天方法及系统。
[0004]本发明是通过下述技术方案来解决上述技术问题的:
[0005]一种基于XMPP协议的群组聊天方法,其特点在于,包括以下步骤:
[0006]S1、服务端以一消息接收接口获取群组内的一用户发送的消息;
[0007]S2、服务端解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
[0008]S3、服务端读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
[0009]S4、服务端依次轮询接收用户并将该消息转发给接收用户。
[0010]其中,XMPP协议是一种基于标准通用标记语言的子集XML的协议。
[0011]较佳地,步骤SI中该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败,该群组聊天方法在步骤Si之后还包括一步骤Sll:判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
[0012]较佳地,步骤SI中服务端在获取该消息后还为该消息生成一唯一的版本号。其中,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,当群组内的任意一用户的客户端启动时向服务端发出一同步请求,该同步请求包含该客户端本地的消息的最高版本号,服务端根据该同步请求将该消息数据库中高于该最高版本号的所有消息反馈给该客户端。
[0013]较佳地,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
[0014]较佳地,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
[0015]本发明还提供了一种基于XMPP协议的群组聊天系统,包括一服务端和多个用户端,每一用户端对应于群组内的一用户,其特点在于,该服务端包括:
[0016]消息接收接口,用于获取群组内的一用户发送的消息;
[0017]消息解析模块,用于解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
[0018]该消息数据库,用于存储消息;
[0019]配置信息获取模块,用于读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
[0020]消息转发模块,用于依次轮询接收用户并将该消息转发给接收用户。
[0021]容易理解地,本发明中所说的针对用户执行的动作实质上即是服务端针对客户端或用户端执行的动作。
[0022]较佳地,每一用户端包括定时模块,该服务端还包括回执反馈模块。定时模块用于在该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败。回执反馈模块用于判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
[0023]较佳地,消息接收接口还用于在获取该消息后为该消息生成一唯一的版本号。其中每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,每一用户端还包括一同步请求模块,用于在用户端启动时向服务端发出一同步请求,该同步请求包含该用户端本地的消息的最高版本号,服务端还包括一同步模块,用于根据收到的同步请求将该消息数据库中高于该最高版本号的所有消息反馈给发出同步请求的用户端。
[0024]较佳地,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
[0025]较佳地,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
[0026]在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
[0027]本发明的积极进步效果在于:本发明的基于XMPP协议的群组聊天方法及系统,针对XMPP协议下的即时通信方法增加了容错机制和保护性措施,能为用户提供更可靠的多对多通信服务,并且使得用户能够恢复整个会话过程。
【附图说明】
[0028]图1为本发明实施例1的基于XMPP协议的群组聊天方法的流程图。
[0029]图2为本发明实施例2的基于XMPP协议的群组聊天系统的示意图。
【具体实施方式】
[0030]下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
[0031]实施例1
[0032]如图1所示,本实施例的基于XMPP协议的群组聊天方法,包括以下步骤:
[0033]S1、服务端以一消息接收接口获取群组内的一用户发送的消息,然后为该消息生成一唯一的版本号,其中该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败;
[0034]S11、判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
[0035]S2、服务端解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
[0036]S3、服务端读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
[0037]S4、服务端依次轮询接收用户并将该消息转发给接收用户。
[0038]本实施例中,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,当群组内的任意一用户的客户端启动时向服务端发出一同步请求,该同步请
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1