即時通訊的核心在于它的傳輸協議
xmpp是一個分散型通信網絡,只要網絡基礎設施允許,任何xmpp用戶都可以向其他xmpp用戶傳遞消息
xmpp是一種基于xml的協議
XMPP中定義了三個角色,客戶端,服務器,網關。通信能夠在這三者的任意兩個之間雙向發生
而XMPP的核心部分就是一個在網絡上分片段發送XML的流協議。這個流協議是XMPP的即時通訊指令的傳遞基礎,也是一個非常重要的可以被進一步利用的網絡基礎協議??梢哉f,XMPP用TCP傳的是XML流
缺點:數據負載過重,沒有二進制傳輸
XMPP核心文件
XMPPStream:是開發過程中最主要交互的類,所有擴展和自定義代碼均要基于此類進行
XMPPParser:供XMPPStream解析使用
XMPPJID:提供了一個不可變JID的實現,遵守NSCopying協議和NSCoding協議
XMPPElement:以下三個XMPP元素的基類
XMPPIQ :請求
XMPPMessage :消息
XMPPPresence :出席
XMPPModule:開發XMPP擴展時使用
XMPPLogging:XMPP的日志框架
XMPPInternal:整個XMPP框架內部使用的核心和高級底層內容
XMPPReconnect:如果意外中斷,自動重連XMPP流
XMPPRoster:標準的XMPP花名冊
XMPPRoom:提供多人聊天支持
XMPPPubSub:提供公共訂閱支持
……
注意:1)XMPP框架僅提供了一個最小的代理委托系統用于接收三種XMPP類型(IQ、Message和Presence),如果要實現更多的功能,開發者還需要編寫大量的相關代碼
2)為了簡化開發,通常將XMPPStream放置在AppDelegate中,以便于全局訪問
9. 使用XMPP的實時消息傳遞系統包含三大通信類別:
消息傳遞,其中數據在有關各方之間傳輸
聯機狀態,允許用戶廣播其在線狀態和可用性
信息/查詢請求,它允許XMPP實體發起請求并從另一個實體接收響應
10. 以上三種類型的XMPP節都擁有以下公共屬性:
from:源XMPP實體的JID
to:目標接收者的JID
id:當前對話的可選標識符
type:節的可選子類型
xml:lang:如果內容是人們可讀的,則為消息語言的描述
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。