iOS 的 XMPPFramework 简介
2014-12-25 09:14
288 查看
1登录和好友上下线
1.1XMPP中常用对象们
XMPPStream:xmpp基础服务类XMPPRoster:好友列表类
XMPPRosterCoreDataStorage:好友列表(用户账号)在core data中的操作类
XMPPvCardCoreDataStorage:好友名片(昵称,签名,性别,年龄等信息)在core data中的操作类
XMPPvCardTemp:好友名片实体类,从数据库里取出来的都是它
xmppvCardAvatarModule:好友头像
XMPPReconnect:如果失去连接,自动重连
XMPPRoom:提供多用户聊天支持
XMPPPubSub:发布订阅
1.2登录操作,也就是连接xmpp服务器
?会依次调用XMPPStreamDelegate的方法,
首先调用
- (void)xmppStream:(XMPPStream *)sender socketDidConnect:(GCDAsyncSocket *)socket
然后
- (void)xmppStreamDidConnect:(XMPPStream *)sender
在该方法下面需要使用xmppStream 的authenticateWithPassword方法进行密码验证,成功的话会响应delegate的方法,就是下面这个
- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender
1.3上线
实现 - (void)xmppStreamDidAuthenticate:(XMPPStream *)sender 委托方法?
1.4退出并断开连接
?1.5好友状态
获取好友状态,通过实现?
当接收到 <presence /> 标签的内容时,XMPPFramework 框架回调该方法
一个 <presence /> 标签的格式一般如下:
?
available 上线
away 离开
do not disturb 忙碌
unavailable 下线
?
[b]2接收消息和发送消息[/b]
2.1接收消息
通过实现?
当接收到 <message /> 标签的内容时,XMPPFramework 框架回调该方法
根据 XMPP 协议,消息体的内容存储在标签 <body /> 内
?
2.2发送消息
发送消息,我们需要根据 XMPP 协议,将数据放到 <message /> 标签内,例如:?
3获取好友信息和删除好友
3.1好友列表和好友名片
?3.2添加好友
?3.3收到添加好友的请求
?//删除好友,name为好友账号
?
4聊天室
//初始化聊天室?
?
?
?
?
?
?
//离开聊天室
?
?
?
?
5消息回执
这个是XEP-0184协议的内容协议内容:
发送消息时附加回执请求
?
?
?
?
6添加AutoPing
为了监听服务器是否有效,增加心跳监听。用XEP-0199协议,在XMPPFrameWork框架下,封装了 XMPPAutoPing 和 XMPPPing两个类都可以使用,因为XMPPAutoPing已经组合进了XMPPPing类,所以XMPPAutoPing使用起来更方便。?
相关文章推荐
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介 (只为自己看方便)
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介
- iOS 的 XMPPFramework 简介