[發明專利]一種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消息從緩存中刪除;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都西可科技有限公司,未經成都西可科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210267544.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種環保型光電橡膠汽車腳墊及其制備方法
- 下一篇:停車場的信息化管理系統





