iOS的xmppframework简介--经典推荐
2015-03-07 22:07
429 查看
目录[-]
1登录和好友上下线
1.1XMPP中常用对象们
1.2登录操作,也就是连接xmpp服务器
1.3上线
1.4退出并断开连接
1.5好友状态
2接收消息和发送消息
2.1接收消息
2.2发送消息
3获取好友信息和删除好友
3.1好友列表和好友名片
3.2添加好友
3.3收到添加好友的请求
4聊天室
5消息回执
6添加AutoPing
由于博客迁移至www.coderyi.com,文章请看http://www.coderyi.com/archives/436
XMPPRoster:好友列表类
XMPPRosterCoreDataStorage:好友列表(用户账号)在core data中的操作类
XMPPvCardCoreDataStorage:好友名片(昵称,签名,性别,年龄等信息)在core data中的操作类
XMPPvCardTemp:好友名片实体类,从数据库里取出来的都是它
xmppvCardAvatarModule:好友头像
XMPPReconnect:如果失去连接,自动重连
XMPPRoom:提供多用户聊天支持
XMPPPubSub:发布订阅
connect成功之后
会依次调用XMPPStreamDelegate的方法,
首先调用
- (void)xmppStream:(XMPPStream *)sender socketDidConnect:(GCDAsyncSocket *)socket
然后
- (void)xmppStreamDidConnect:(XMPPStream *)sender
在该方法下面需要使用xmppStream 的authenticateWithPassword方法进行密码验证,成功的话会响应delegate的方法,就是下面这个
- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender
?
?
方法
当接收到 <presence /> 标签的内容时,XMPPFramework 框架回调该方法
一个 <presence /> 标签的格式一般如下:
?
presence 的状态:
available 上线
away 离开
do not disturb 忙碌
unavailable 下线
?
?
方法
当接收到 <message /> 标签的内容时,XMPPFramework 框架回调该方法
根据 XMPP 协议,消息体的内容存储在标签 <body /> 内
?
?
?
3获取好友信息和删除好友
3.4删除好友
//删除好友,name为好友账号
?
?
//创建聊天室成功
?
?
//获取聊天室信息
?
如果房间存在,会调用委托
?
房间不存在,调用委托
?
离开房间
?
XMPPRoomDelegate的其他代理方法
//离开聊天室
?
//新人加入群聊
?
//有人退出群聊
?
//有人在群里发言
?
协议内容:
发送消息时附加回执请求
?
代码实现
?
收到回执请求的消息,发送回执
?
代码实现
?
?
1登录和好友上下线
1.1XMPP中常用对象们
1.2登录操作,也就是连接xmpp服务器
1.3上线
1.4退出并断开连接
1.5好友状态
2接收消息和发送消息
2.1接收消息
2.2发送消息
3获取好友信息和删除好友
3.1好友列表和好友名片
3.2添加好友
3.3收到添加好友的请求
4聊天室
5消息回执
6添加AutoPing
由于博客迁移至www.coderyi.com,文章请看http://www.coderyi.com/archives/436
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 XMPP Framework 02 - 简介
- XMPPFrameWork IOS 开发(一)xmpp简介
- IOS -- XMPPFramework 即时聊天(1:XMPPFramework简介)
- XMPPFrameWork IOS 开发(一)xmpp简介
- XMPPFrameWork IOS 开发(一)xmpp简介
- iOS的XMPP Framework简介
- iOS下XMPP开发之xmppFramework框架简介及代码使用
- XMPPFrameWork IOS 开发(一)xmpp简介
- XMPPFrameWork IOS 开发(一)xmpp简介
- XMPPFrameWork IOS 开发(三)登录
- XMPPFrameWork IOS 开发(二)- xcode配置
- XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友
- XMPPFrameWork IOS 开发(七)消息回执
- xmppframework for iOS client (一) XMPPFramework环境配置
- iOS XMPPFramework 环境配置
- iOS XMPPFramework 环境配置
- XMPPFrameWork IOS 开发(六)聊天室
- xmppframework for iOS client(五) 添加AutoPing
- XMPPFrameWork IOS 开发(七)消息回执
- IOS XMPPFRAMEWORK IntroToFramework