iOS XMPP学习点

一、“用户登录”为例

  • 例如:用户名称:lisi@cjpServer.local,密码:123456

1、登录流程:

用户登录流程.png

2、注意点

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,407评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 1. clean 打扫,清洁 拆分:cl--从来;e--鹅;an--一个。从来都是鹅一个人打扫干净的。 2. c...
    世话实说阅读 541评论 0 0
  • 【飞箝第五】 原文(5.3)将欲用之于天下,必度权量能,见天时之盛衰,制地形之广狹,岨(zu)崄(xian)之难易...
    海纳百川vs王者之风阅读 280评论 0 0
  • 元气恢复 周一 精神满满 说好的早睡(。ì _ í。) 12点之前就算进步 掉肌肉 不喜欢 一定是秤不准 不行...
    YvonneCCC阅读 227评论 0 0