关于使用XMPPFramework完成即时通讯请继续关注后面系类内容.
XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920),同时还提供了用于读写XML的工具,大大简化了基于XMPP的通信应用的开发,是对XMPP的一次封装,使得我们更好的使用XMPP协议。
XMPP中常用对象们
XMPPStream:xmpp基础服务类
XMPPRoster:好友列表类
XMPPRosterCoreDataStorage:好友列表(用户账号)在core data中的操作类
XMPPvCardCoreDataStorage:好友名片(昵称,签名,性别,年龄等信息)在core data中的操作类
XMPPvCardTemp:好友名片实体类,从数据库里取出来的都是它
xmppvCardAvatarModule:好友头像
XMPPReconnect:如果失去连接,自动重连
XMPPRoom:提供多用户聊天支持
XMPPPubSub:发布订阅
XMPPMessageArchiving: 聊天信息模块
XMPPMessageArchivingCoreDataStorage: 聊天信息在数据库中的操作类
这些模块使用大都是需要先激活再使用,具体的可以关注接下来的文章
下面是XMPPFramework几个常用到的扩展。
协议简介
XEP-0009
在两个XMPP实体间传输XML-RPC编码请求和响应
XEP-0006
使能与网络上某个XMPP实体间的通信
XEP-0045
多人聊天相关协议
XEP-0054
名片格式的标准文档
XEP-0060
提供通用公共订阅功能
XEP-0065
两个XMPP用户之间建立一个带外流,主要用于文件传输
XEP-0082
日期和时间信息的标准化表示
XEP-0085
聊天对话中通知用户状态
XEP-0100
表述了XMPP客户端与提供传统的IM服务的代理网关之间交换的最佳实践
XEP-0115
广播和动态发现客户端、设备、或一般实体能力。
XEP-0136
为服务端备份和检索XMPP消息定义机制和偏好设置
XEP-0153
用于交换用户头像
XEP-0184
消息送达回执协议
XEP-0199
XMPP ping 协议
XEP-0202
用于交换实体间的本地时间信息
XEP-0203
用于延迟发送
XEP-0224
引起另一个用户注意的协议
详细的协议,点击这里