美文网首页iOSxmpp
iOS XMPP学习点

iOS XMPP学习点

作者: iOS_成才录 | 来源:发表于2015-11-12 19:28 被阅读608次

    一、“用户登录”为例

    • 例如:用户名称: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

    相关文章

      网友评论

      本文标题:iOS XMPP学习点

      本文链接:https://www.haomeiwen.com/subject/rekchttx.html