CN104901872A - 基于xmpp协议的群组聊天方法及系统 - Google Patents
基于xmpp协议的群组聊天方法及系统 Download PDFInfo
- Publication number
- CN104901872A CN104901872A CN201510359105.0A CN201510359105A CN104901872A CN 104901872 A CN104901872 A CN 104901872A CN 201510359105 A CN201510359105 A CN 201510359105A CN 104901872 A CN104901872 A CN 104901872A
- Authority
- CN
- China
- Prior art keywords
- message
- user
- group
- service end
- version number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明公开了一种基于XMPP协议的群组聊天方法及系统。该群组聊天方法包括以下步骤:以一消息接收接口获取群组内的一用户发送的消息;解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;依次轮询接收用户并将该消息转发给接收用户。本发明的基于XMPP协议的群组聊天方法及系统,针对XMPP协议下的即时通信方法增加了容错机制和保护性措施,能为用户提供更可靠的多对多通信服务,并且还使得用户能够恢复整个会话过程。
Description
技术领域
本发明涉及一种基于XMPP协议的群组聊天方法及系统。
背景技术
随着互联网及移动互联网的发展,用户之间的社交沟通需求越来越强烈,如何即时高效、安全可靠地实现用户之间多对多的通信,是众多场景中亟需解决的问题。传统的即时通信方法一般只提供类似会议室的多对多通信服务,要求用户在参与多人聊天前加入会议室,在离开时退出会议室,服务端以此来判定用户的状态。由于移动互联网的网络不稳定,因此当上述的额外行为出现失败时,会导致服务端无法正确获知当前的状态,最终可能导致无法保证消息100%到达。
发明内容
本发明要解决的技术问题是为了克服现有技术中互联网多人聊天容易出现服务端无法正确获知用户的当前状态,因而造成消息有可能无法到达的缺陷,提供一种基于XMPP协议的群组聊天方法及系统。
本发明是通过下述技术方案来解决上述技术问题的:
一种基于XMPP协议的群组聊天方法,其特点在于,包括以下步骤:
S1、服务端以一消息接收接口获取群组内的一用户发送的消息;
S2、服务端解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
S3、服务端读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
S4、服务端依次轮询接收用户并将该消息转发给接收用户。
其中,XMPP协议是一种基于标准通用标记语言的子集XML的协议。
较佳地,步骤S1中该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败,该群组聊天方法在步骤S1之后还包括一步骤S11:判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
较佳地,步骤S1中服务端在获取该消息后还为该消息生成一唯一的版本号。其中,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,当群组内的任意一用户的客户端启动时向服务端发出一同步请求,该同步请求包含该客户端本地的消息的最高版本号,服务端根据该同步请求将该消息数据库中高于该最高版本号的所有消息反馈给该客户端。
较佳地,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
较佳地,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
本发明还提供了一种基于XMPP协议的群组聊天系统,包括一服务端和多个用户端,每一用户端对应于群组内的一用户,其特点在于,该服务端包括:
消息接收接口,用于获取群组内的一用户发送的消息;
消息解析模块,用于解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
该消息数据库,用于存储消息;
配置信息获取模块,用于读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
消息转发模块,用于依次轮询接收用户并将该消息转发给接收用户。
容易理解地,本发明中所说的针对用户执行的动作实质上即是服务端针对客户端或用户端执行的动作。
较佳地,每一用户端包括定时模块,该服务端还包括回执反馈模块。定时模块用于在该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败。回执反馈模块用于判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
较佳地,消息接收接口还用于在获取该消息后为该消息生成一唯一的版本号。其中每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,每一用户端还包括一同步请求模块,用于在用户端启动时向服务端发出一同步请求,该同步请求包含该用户端本地的消息的最高版本号,服务端还包括一同步模块,用于根据收到的同步请求将该消息数据库中高于该最高版本号的所有消息反馈给发出同步请求的用户端。
较佳地,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
较佳地,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:本发明的基于XMPP协议的群组聊天方法及系统,针对XMPP协议下的即时通信方法增加了容错机制和保护性措施,能为用户提供更可靠的多对多通信服务,并且使得用户能够恢复整个会话过程。
附图说明
图1为本发明实施例1的基于XMPP协议的群组聊天方法的流程图。
图2为本发明实施例2的基于XMPP协议的群组聊天系统的示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例的基于XMPP协议的群组聊天方法,包括以下步骤:
S1、服务端以一消息接收接口获取群组内的一用户发送的消息,然后为该消息生成一唯一的版本号,其中该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败;
S11、判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
S2、服务端解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
S3、服务端读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
S4、服务端依次轮询接收用户并将该消息转发给接收用户。
本实施例中,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,当群组内的任意一用户的客户端启动时向服务端发出一同步请求,该同步请求包含该客户端本地的消息的最高版本号,服务端根据该同步请求将该消息数据库中高于该最高版本号的所有消息反馈给该客户端。
并且,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。服务端还具有以下用户接口:创建群组、加入群组、邀请用户加入群组、退出群组、解散群组。这些用户接口分别允许群组用户进行相应操作。
实施例2
参考图2所示,本实施例的基于XMPP协议的群组聊天系统,包括一服务端和多个用户端(图中仅为示例性地绘出3个用户端),每一用户端对应于群组内的一用户。
参考图2所示,该服务端包括消息接收接口1、消息解析模块2、该消息数据库3、配置信息获取模块4、消息转发模块5、回执反馈模块6和同步模块7。
消息接收接口用于获取群组内的一用户发送的消息,并在获取该消息后为该消息生成一唯一的版本号。消息解析模块,用于解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中。消息数据库,用于存储消息。配置信息获取模块,用于读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户。消息转发模块,用于依次轮询接收用户并将该消息转发给接收用户。
此外,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号。用户端的同步请求模块,用于在用户端启动时向服务端发出一同步请求,该同步请求包含该用户端本地的消息的最高版本号。服务端的同步模块,用于根据收到的同步请求将该消息数据库中高于该最高版本号的所有消息反馈给发出同步请求的用户端。
本实施例中,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种基于XMPP协议的群组聊天方法,其特征在于,包括以下步骤:
S1、服务端以一消息接收接口获取群组内的一用户发送的消息;
S2、服务端解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
S3、服务端读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
S4、服务端依次轮询接收用户并将该消息转发给接收用户。
2.如权利要求1所述的群组聊天方法,其特征在于,步骤S1中该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败,该群组聊天方法在步骤S1之后还包括一步骤S11:判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
3.如权利要求1所述的群组聊天方法,其特征在于,步骤S1中服务端在获取该消息后还为该消息生成一唯一的版本号,每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,当群组内的任意一用户的客户端启动时向服务端发出一同步请求,该同步请求包含该客户端本地的消息的最高版本号,服务端根据该同步请求将该消息数据库中高于该最高版本号的所有消息反馈给该客户端。
4.如权利要求1所述的群组聊天方法,其特征在于,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
5.如权利要求1所述的群组聊天方法,其特征在于,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
6.一种基于XMPP协议的群组聊天系统,包括一服务端和多个用户端,每一用户端对应于群组内的一用户,其特征在于,该服务端包括:
消息接收接口,用于获取群组内的一用户发送的消息;
消息解析模块,用于解析该消息接收接口获取的消息的报文格式,并将该消息作为待发送消息存储至一消息数据库中;
该消息数据库,用于存储消息;
配置信息获取模块,用于读取群组内所有用户的配置信息,根据配置信息和该消息的属性确定符合接收条件的用户作为接收用户;
消息转发模块,用于依次轮询接收用户并将该消息转发给接收用户。
7.如权利要求6所述的群组聊天系统,其特征在于,每一用户端包括定时模块,该服务端还包括回执反馈模块;
定时模块用于在该用户在发送消息的同时启动一定时器,该定时器设置有一超时时间,若该超时时间内该用户接收到该消息的回执则确认该消息发送成功,否则确认该消息发送失败;
回执反馈模块用于判断该消息是否在该用户发出后的一预设时间段内由服务端接收到,若是则向发送该消息的用户反馈该消息的回执。
8.如权利要求6所述的群组聊天系统,其特征在于,消息接收接口还用于在获取该消息后为该消息生成一唯一的版本号,其中每一条消息具有一版本号,越接近于当前时刻发送的消息具有越高的版本号,每一用户端还包括一同步请求模块,用于在用户端启动时向服务端发出一同步请求,该同步请求包含该用户端本地的消息的最高版本号,服务端还包括一同步模块,用于根据收到的同步请求将该消息数据库中高于该最高版本号的所有消息反馈给发出同步请求的用户端。
9.如权利要求6所述的群组聊天系统,其特征在于,服务端针对群组内所有用户发送的消息均以同一消息接收接口获取并存储至同一消息数据库中。
10.如权利要求6所述的群组聊天系统,其特征在于,服务端还具有包括创建群组、加入群组、邀请用户加入群组、退出群组、解散群组在内的用户操作接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510359105.0A CN104901872A (zh) | 2015-06-25 | 2015-06-25 | 基于xmpp协议的群组聊天方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510359105.0A CN104901872A (zh) | 2015-06-25 | 2015-06-25 | 基于xmpp协议的群组聊天方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104901872A true CN104901872A (zh) | 2015-09-09 |
Family
ID=54034275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510359105.0A Pending CN104901872A (zh) | 2015-06-25 | 2015-06-25 | 基于xmpp协议的群组聊天方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104901872A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404290A (zh) * | 2010-09-10 | 2012-04-04 | 杭州世导通讯有限公司 | 一种通过扩展xmpp协议实现虚拟总机业务层关联的系统和方法 |
CN102546464A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种跨im系统的会议方法和系统 |
CN103259715A (zh) * | 2013-05-14 | 2013-08-21 | 华为软件技术有限公司 | 一种管理多人会话的方法、装置及系统 |
CN103684808A (zh) * | 2013-12-30 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 广播消息的发送方法及服务器 |
CN103763627A (zh) * | 2014-01-02 | 2014-04-30 | Tcl集团股份有限公司 | 一种实现实时视像会议的方法及系统 |
CN104144106A (zh) * | 2013-09-26 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 一种消息转发方法、装置及系统 |
-
2015
- 2015-06-25 CN CN201510359105.0A patent/CN104901872A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404290A (zh) * | 2010-09-10 | 2012-04-04 | 杭州世导通讯有限公司 | 一种通过扩展xmpp协议实现虚拟总机业务层关联的系统和方法 |
CN102546464A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种跨im系统的会议方法和系统 |
CN103259715A (zh) * | 2013-05-14 | 2013-08-21 | 华为软件技术有限公司 | 一种管理多人会话的方法、装置及系统 |
CN104144106A (zh) * | 2013-09-26 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 一种消息转发方法、装置及系统 |
CN103684808A (zh) * | 2013-12-30 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 广播消息的发送方法及服务器 |
CN103763627A (zh) * | 2014-01-02 | 2014-04-30 | Tcl集团股份有限公司 | 一种实现实时视像会议的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834031B2 (en) | Information exchange method, client, and apparatus | |
CN101159714B (zh) | 一种即时通讯方法和装置 | |
CN103139048B (zh) | 群消息提醒方法和系统 | |
WO2014110820A1 (zh) | 一种通知推送方法、装置和系统 | |
EP2302870A3 (en) | Session sharing system, session sharing method, session sharing program, and user terminal | |
KR20070006365A (ko) | 싱크 서버를 이용한 메신저 알림 시스템 및 방법 | |
CN101227433A (zh) | 在网络电视业务系统中实现信息共享的方法和终端 | |
CN102664899B (zh) | 一种业务处理方法、装置及系统 | |
CN111917562B (zh) | 广播消息转发方法、装置、设备及存储介质 | |
CN104580537A (zh) | 基于xmpp客户端与服务器的快速重连方法、终端和服务器 | |
EP3160172A1 (en) | Method and device for short messaging service intercommunication | |
CN104320327A (zh) | 基于社交网络同一账号的多角色同时在线实现方法及系统 | |
CN101360073A (zh) | 一种电子邮件到达的通知方法、系统及装置 | |
CN104243271A (zh) | 一种通过xmpp实现离线消息推送的方法及系统 | |
CN108683653A (zh) | 一种基于WebSocket的主动式消息推送系统 | |
CN104901865B (zh) | 一种基于全局单调序列号的移动端即时通讯信号同步方法 | |
CN106411713B (zh) | 一种状态通知方法及服务器 | |
CN105515936A (zh) | 消息通信的方法、服务器和系统 | |
CN103297326B (zh) | 消息推送的方法和装置 | |
CN106790728A (zh) | 消息推送方法和系统 | |
CN106961377A (zh) | 消息同步方法和消息同步系统 | |
CN104539526A (zh) | 一种客户端在线发送消息离线发短信的方法、装置和系统 | |
CN104901872A (zh) | 基于xmpp协议的群组聊天方法及系统 | |
US20140324927A1 (en) | Method, im client and cloud server for saving chat record | |
CN104022941A (zh) | 一种会议即时通讯系统及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160302 Address after: 200335 Shanghai city Changning District Admiralty Road No. 968 Building No. 16 10 floor Applicant after: SHANGHAI XIECHENG BUSINESS CO., LTD. Address before: 200335 Shanghai City, Changning District Fuquan Road No. 99, Ctrip network technology building Applicant before: Ctrip computer technology (Shanghai) Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150909 |
|
RJ01 | Rejection of invention patent application after publication |