如果要深入理解,看英文最好 IntroToFramework
XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920)。
XMPPFramework被分为两大块
- The xmpp core 【核心】
- The extensions (roster, XEP's, optional supporting utilities, etc) 【扩展】
这里重点介绍 The xmpp core ,它主要包含
- XMPPStream
- XMPPParser
- XMPPJID
- XMPPElement
- XMPPIQ
- XMPPMessage
- XMPPPresence
- XMPPModule
- XMPPLogging
- XMPPInternal
- XMPPStream 是xmpp的基础服务类。所有的扩展、用户自定义的代码都需要基于它,它有很多有趣的功能设计使框架灵活、可扩展、易于开发。这些在本文的后面将更深入地讨论。
- XMPPParser 是XMPPStream使用的是一个内部类。我们的程度还涉及不到。
- XMPPJID 提供了一个不可变的JID(Jabber Identifier)实现。它支持JID的解析和提取的各个部分JID。它符合NSCopying协议以便JID NSDictionary可能被用作键。它符合NSCoding协议。
- XMPPElement 是三个XMPP元素的基类:XMPPIQ XMPPMessage XMPPPresence。
- XMPPModule 提供可选的附加拓展功能