[发明专利]基于XMPP协议的群组聊天方法及系统有效
| 申请号: | 201510359105.0 | 申请日: | 2015-06-25 |
| 公开(公告)号: | CN104901872A | 公开(公告)日: | 2015-09-09 |
| 发明(设计)人: | 汤时虎;魏岩 | 申请(专利权)人: | 携程计算机技术(上海)有限公司 |
| 主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/06 |
| 代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 薛琦;王聪 |
| 地址: | 200335 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 xmpp 协议 聊天 方法 系统 | ||
技术领域
本发明涉及一种基于XMPP协议的群组聊天方法及系统。
背景技术
随着互联网及移动互联网的发展,用户之间的社交沟通需求越来越强烈,如何即时高效、安全可靠地实现用户之间多对多的通信,是众多场景中亟需解决的问题。传统的即时通信方法一般只提供类似会议室的多对多通信服务,要求用户在参与多人聊天前加入会议室,在离开时退出会议室,服务端以此来判定用户的状态。由于移动互联网的网络不稳定,因此当上述的额外行为出现失败时,会导致服务端无法正确获知当前的状态,最终可能导致无法保证消息100%到达。
发明内容
本发明要解决的技术问题是为了克服现有技术中互联网多人聊天容易出现服务端无法正确获知用户的当前状态,因而造成消息有可能无法到达的缺陷,提供一种基于XMPP协议的群组聊天方法及系统。
本发明是通过下述技术方案来解决上述技术问题的:
一种基于XMPP协议的群组聊天方法,其特点在于,包括以下步骤:
S1、服务端以一消息接收接口获取群组内的一用户发送的消息;
S2、服务端解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
S3、服务端读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
S4、服务端依次轮询接收用户并将该消息转发给接收用户。
其中,XMPP协议是一种基于标准通用标记语言的子集XML的协议。
较佳地,步骤S1中该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败,该群组聊天方法在步骤S1之后还包括一步骤S11:判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
较佳地,步骤S1中服务端在获取该消息后还为该消息生成一唯一的版本号。其中,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,当群组内的任意一用户的客户端启动时向服务端发出一同步请求,该同步请求包含该客户端本地的消息的最高版本号,服务端根据该同步请求将该消息数据库中高于该最高版本号的所有消息反馈给该客户端。
较佳地,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
较佳地,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
本发明还提供了一种基于XMPP协议的群组聊天系统,包括一服务端和多个用户端,每一用户端对应于群组内的一用户,其特点在于,该服务端包括:
消息接收接口,用于获取群组内的一用户发送的消息;
消息解析模块,用于解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
该消息数据库,用于存储消息;
配置信息获取模块,用于读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
消息转发模块,用于依次轮询接收用户并将该消息转发给接收用户。
容易理解地,本发明中所说的针对用户执行的动作实质上即是服务端针对客户端或用户端执行的动作。
较佳地,每一用户端包括定时模块,该服务端还包括回执反馈模块。定时模块用于在该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败。回执反馈模块用于判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
较佳地,消息接收接口还用于在获取该消息后为该消息生成一唯一的版本号。其中每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,每一用户端还包括一同步请求模块,用于在用户端启动时向服务端发出一同步请求,该同步请求包含该用户端本地的消息的最高版本号,服务端还包括一同步模块,用于根据收到的同步请求将该消息数据库中高于该最高版本号的所有消息反馈给发出同步请求的用户端。
较佳地,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
较佳地,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于携程计算机技术(上海)有限公司,未经携程计算机技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510359105.0/2.html,转载请声明来源钻瓜专利网。





