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