[发明专利]一种XMPP消息的可靠传输方法有效

专利信息
申请号: 201210267544.5 申请日: 2012-07-30
公开(公告)号: CN102868677A 公开(公告)日: 2013-01-09
发明(设计)人: 王靖 申请(专利权)人: 成都西可科技有限公司
主分类号: H04L29/06 分类号: H04L29/06;H04L29/08
代理公司: 成都金英专利代理事务所(普通合伙) 51218 代理人: 袁英
地址: 610041 四川省成都市高新区天府*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 xmpp 消息 可靠 传输 方法
【说明书】:

技术领域

    本发明涉及一种XMPP消息的可靠传输方法。

背景技术

XMPP(Extensible Messaging and Presence Protocol)是一种以XML为基础的开放式即时通讯协议,是经互联网工程工作小组(IETF)通过的互联网标准。XMPP规定了近实时的、可扩展的即时消息(Instant Messaging)传输标准,凭借其巨大的灵活性和开放性在即时通讯市场上占有了很大的份额。若干的计算机行业巨头均采用XMPP协议实现其即时消息通讯服务。

XMPP不关心消息的可靠送达,它仅依靠底层的TCP连接来保证这一点。但是在不稳定的网络中,无法保持长时间的TCP连接。因此TCP仅仅能保证消息的顺序递交,并不能保证消息不被丢失。这一特点使得在这类网络中使用XMPP格外困难。运行在手机、基站之间的移动通信网络就是一个典型的不稳定网络,用户的通话、短消息,以及基站切换等动作都可能导致连接中断,进而导致消息丢失。

随着移动互联网的逐步发展,对于基于移动互联网的即时消息类服务的需求日益增加。现有的此类业务大多基于私有协议,使得不同服务提供者之间的用户无法互通,目前,急需一种确保XMPP协议能稳定运行在这种网络上的方法。

发明内容

本发明的目的即在于克服现有技术的不足,提供一种基于XMPP消息的点到点的可靠传输方法,这种扩展与现有XMPP协议兼容,不会影响与现有用户的互联互通。

本发明的目的通过以下技术方案来实现:一种XMPP消息的可靠传输方法,在建立在同一个TCP连接上的XMPP协议中增加带外控制消息,实现可靠的点对点XMPP消息传输,所述的增加了带外控制消息的XMPP协议按照以下步骤进行带外传输控制和协商:

S1:每个XMPP实体在建立一个新连接时,分别初始化计数发出的XMPP消息个数的发送消息计算器和计数接收到的XMPP消息个数的接收消息计数器为0;

S2:XMPP实体每发出一个XMPP消息,就紧跟着发送一个包含有本方发送消息计数值的控制消息,与此同时,在发送XMPP消息后,XMPP实体缓存发送的XMPP消息;

S3:XMPP实体每收到一个XMPP消息,则检查其后紧跟的控制消息,若控制消息中包含的计数值比实体中接收到的消息的计数值大1,则接收这个XMPP消息,将接收消息计数器加一,并向发送方发送包含当前接收计数器值的确认控制信息,发送方在接收到这个确认控制消息后,将对应的XMPP消息从缓存中删除;

反之,则发出包含接收方希望收到的XMPP消息编号的控制消息,要求发送方XMPP实体重发XMPP消息,发送方在接收到重发XMPP消息的控制消息后,发送缓存内对应的XMPP消息,循环步骤S2~步骤S3,直至接收方接收发送方发送的XMPP消息。

所述的带外控制消息包含在XMPP用户消息中,与原始XMPP相兼容。

本发明的有益效果是:本发明提供一种基于XMPP消息的点到点的可靠传输方法,这种扩展与现有XMPP协议兼容,可以叠加运行在现有XMPP网络中,不会影响与现有用户的互联互通;本发明实现了XMPP网络中端到端的可靠性保证,在网络不稳定情况下或TCP连接断开等原因导致的消息无法发送等情况下,消息会在发送方被缓存并反复发送,直到接收到接收方的送达确认。

附图说明

图1为本发明的流程图。

具体实施方式

下面结合附图对本发明做进一步的描述,但本发明的保护范围不局限于以下所述。

如图1所示,一种XMPP消息的可靠传输方法,在建立在同一个TCP连接上的XMPP协议中增加带外控制消息,实现可靠的点对点XMPP消息传输,所述的增加了带外控制消息的XMPP协议按照以下步骤进行带外传输控制和协商: 

S1:每个XMPP实体在建立一个新连接时,分别初始化计数发出的XMPP消息个数的发送消息计算器和计数接收到的XMPP消息个数的接收消息计数器为0;

S2:XMPP实体每发出一个XMPP消息,就紧跟着发送一个包含有本方发送消息计数值的控制消息,与此同时,在发送XMPP消息后,XMPP实体缓存发送的XMPP消息;

S3:XMPP实体每收到一个XMPP消息,则检查其后紧跟的控制消息,若控制消息中包含的计数值比实体中接收到的消息的计数值大1,则接收这个XMPP消息,将接收消息计数器加一,并向发送方发送包含当前接收计数器值的确认控制信息,发送方在接收到这个确认控制消息后,将对应的XMPP消息从缓存中删除;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都西可科技有限公司,未经成都西可科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210267544.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top