美文网首页深入浅出iOSiOS 开发相关
iOS利用MQTT实现消息订阅和推送

iOS利用MQTT实现消息订阅和推送

作者: voidxin | 来源:发表于2016-03-13 23:28 被阅读2431次

  消息推送其实就是在客户端维护一个长连接,而MQTT是一种轻量级低消耗的长连接方式,相比于普通的socket链接来说,它对服务器的消耗没有那么大。其原理大致如下:

  服务器,服务器给客户端一个心跳应答,这样就形成客户端服务器的一次完整的握手,这个握手是让双方都知道他们之间的连接是没有断开,客户端是在线的。如果超过一个时间的阈值,客户端没有收到服务器的应答,或者服务器没有收到客户端的心跳,那么对客户端来说则断开与服务器的连接重新建立一。

  在iOS端实现MQTT推送如下:

    推送:

      首先判断服务器是否启动成功:

    推送内容:


  订阅主题:

最后释放连接:


相关文章

网友评论

  • Zszen:请问服务器段怎么写
  • 30234c45ea6c:你好,请教一个问题,我发送消息时将qos设为1,怎么在下一次连接之后收到呢条消息,应该怎么做
  • 技术部:这样是可行的,但这不是需要后台长时间运行的吗?否则是不能保证长连接的啊,也不能实时得到推送的消息;还有重要的一点就是当APP返回到后台10秒左右就会被终止运行的 :flushed:
  • Tang_shuya:请问你用的那个库啊?给个地址呗
    技术部:@voidxin 但要是在后台时播放一段无声音乐,审核不会通过的,会被拒绝的啊
    voidxin:@技术部 后台时播放一段无声音乐,隔段时间唤醒一次可实现后台程序不死,但如果用户强行杀死app这就种推送就不靠谱了,所以可靠的方式还是得用苹果的apns,用极光等第三方
    voidxin:@iOS女神shuyaRose 用的MQTTKit,https://github.com/voidxin/MQTTPush你可以看看我的demo

本文标题:iOS利用MQTT实现消息订阅和推送

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