閱讀586 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Asmack開發係列之XMPP概述

這一節,我們從Asmack基於的協議核心出發,XMPP協議,來學習。弄懂XMPP對學習Asmack源碼有著重要的原因,做到知其然知其所以然。

本文主要是學習《XMPP The Definitive Guide Building Real-Time Applications with Jabber Technologies》文總結而來。


1,您能夠拿XMPP來做什麼?

XMPP(Extensible Messaging and Presence Protocol),主要是傳輸XML數據。

典型的XMPP實現一般包含如下服務(Services):

1)通道加密(Channel Encryption)。雖然加密通信不是必須的,但對於建立安全軟件卻是非常必須的。

2)鑒權(Authentication)。用戶需要通過xmpp來通信,首先要進行登入鑒權。

3)上線/出席(Presence)。主要是負責“好友在線麼?不在線?還有就是,我上線了,我下線了”等。

4)花名冊/聯係人列表(Contact list)。

5)一對一通信(One-to-One Messaging)。

6)群對話(Multi-party Messaging)。

7)通知(Notifications)。廣播一樣,有點像QQ的右下角彈框。當然,你可以定製主題topic

8)服務發現(Service Discovery)。服務發現,你可以知道別的節點支持什麼樣的服務。

9)能力廣告(Capabilities advertisement)。作為服務發現的一個補充。

10)結構化數據表單(structured data forms)。可以和其他節點交換類似與html表單的數據。

11)流程管理(Workflow Managerment)

12)Peer-to-Peer富媒體會話。這個用來傳輸多媒體數據,用作語音對話,視頻對話,文件傳輸等。

以上就是一個典型的實現XMPP協議庫需要支持的服務。


2,應用

以下是能夠使用XMPP來做的應用:

1)即時通信(Instant Messaging)。

2)群組對話(GroupChat)。

3)遊戲(Gaming)。

4)係統控製(System Control)。

5)定位。

6)雲計算中間件。

7)內容發布係統。

8)IP電話(VoIP)。

9)標識係統。


3,曆史(略)






最後更新:2017-04-03 05:40:17

  上一篇:go node-webkit開發桌麵應用
  下一篇:go Swift數字類型之間的轉換