iOS XMPP学习点
2015-11-12 本文已影响608人
iOS_成才录
一、“用户登录”为例
- 例如:用户名称:lisi@cjpServer.local,密码:123456
1、登录流程:
用户登录流程.png2、注意点
1、应用APP
不能同时两个用户在线
-
客户端:仅允许一个连接必须同一时间,不可能同时有两个连接到服务器
-
1、点击登录按钮,然后输入对的用户名 -> 连接成功后,但是确输入错误的密码 -> 就会连接成功但是肯定会授权失败。
授权失败.png -
2、如果此时不管用户名与密码对不对,已经连接成功一次的前提下,继续点击登录按钮来进行连接授权登录的话,会提示错误,因为上一次登录授权失败虽然,但是连接成功了连接还在,错误提示:
多次连接bug.png
-
- 3、解决bug:
-
进行连接前,1.先断开连接,2.然后连接
解决bug.png
-
2、XMPPStream交互都是在子线程进行的,所以,如果
进行刷新UI必须要回到主线程
- 如果不会到主线程,任然到子线程进行刷新UI,你会明显感觉到延时效果。所以:刷新UI必须要回到主线程进行
3、XMPPStream内部已经通过GCDAsyncSocket对象(异步Socket)封装
- 我们直接操作XMPPStream就OK了,XMPPStream其实是遵守了GCDAsyncSocketDelegate的协议。。。,屏蔽了细节。所以我们只要 XMPPStream对象指定代理,我们通过xmppStream对象调用连接和授权方法后,如果我们想监听,只要实现代理的对应的方法(连接是否成功,授权是否成功等,都可以监听到)
4、XMPP日志输出 设置
-
找到框架中的XMPPLogging.h文件,修改一下里面的一个宏即可。如下图:
日志输出.png