XMPPFramework結(jié)構(gòu)
在進入下一步之前,先給大家講講XMPPFramework的目錄結(jié)構(gòu),以便新手們更容易讀懂文章。我們來看看下圖:

雖然這里有很多目錄,但是我們在開發(fā)中只關(guān)心Core和Extensions目錄下的類
- Authentication: 這一看名字就知道與授權(quán)驗證相關(guān)的。
- Categories:主要是一些擴展,尤其是NSXMLElement+XMPP擴展是必備的。
- Core:這里是XMPP的核心文件目錄,我們最主要的目光還是要放在這個目錄上。
- Extensions:這個目錄是XMPP的擴展,Extensions擴展里的功能都是獨立的,如果需要使用到相關(guān)功能,是需要自己手動添加的。
- Utilities:都是輔助類,我們開發(fā)者不用關(guān)心這里。
- Vendor:這個目錄是XMPP所引用的第三方類庫,如CocoaAsyncSocket、KissXML等,我們也不用關(guān)心這里。
在這里我簡單的介紹下核心的類
XMPPStream:是開發(fā)過程中最主要的交互類,所有擴展和自定義代碼均要基于此類進行
XMPPParser:提供XMPPStream解析使用
XMPPJID:(用戶的登錄名(登錄賬號)就是以這個完成的)提供了一個不變JID的實現(xiàn),遵守NSCopying協(xié)議和NSCoding協(xié)議
XMPPElement:以下三個XMPP元素的基類
- XMPPIQ: 請求
- XMPPMessage:消息
- XMPPPresence:出席
XMPPModule:開發(fā)XMPP擴展的使用
XMPPLogging:XMPP開發(fā)的日志架構(gòu)
XMPPInternal:整個XMPP架構(gòu)內(nèi)部使用的核心和高級底層內(nèi)容