美文网首页
MQTTClient 那些坑

MQTTClient 那些坑

作者: 咸蛋皮蛋的哥 | 来源:发表于2017-08-11 11:01 被阅读0次

前段时间做一个智能路由器的项目,要求使用MQTT,研究了几个相关的框架,还是选择MQTTClient,因为他的版本更新比较快!

项目应用场景

本地连接路由器WiFi,本地MQTT通信,配置路由器过程中路由器会重启,待路由器重启成功之后MQTT自动连接。如果没有本地连接路由器就使用MQTT远程通信。

项目中MQTT会有经常断开和自动连接的需求,在断开重连的时候各种崩溃,主要原因就是MQTTClient断开连接之后,某些类的数据没有释放完全,或者是对象内存释放时,所用内存并没有完全被擦除,仍有旧对象部分数据可用,重连的时候又使用到了这个类,导致crash。

如下关闭了MQTTClient:

但是马上重新连接就会crash:

这里self已经为nil,但是线程还是会走到这里,导致奔溃。

所以,我建立了两个MQTTClient管理的类,SQMQTTClientManager和SQMQTTClientLocationManager,一个管理远程通信,一个管理本地通信。这样可以解决本地与远程切换crash的问题。

相关文章

  • MQTTClient 那些坑

    前段时间做一个智能路由器的项目,要求使用MQTT,研究了几个相关的框架,还是选择MQTTClient,因为他的版本...

  • 高性能、高稳定性的跨平台MQTT客户端

    开源地址 https://github.com/jiejieTop/mqttclient mqttclient 一...

  • MQTT相关

    MQTTClient相关 可通过CocoaPod MQTTClient 创建一个新客户端并连接到服务器 订阅主题并...

  • MQTTClient的使用介绍

    开篇 最近在使用MQTTClient实现一个类似于消息推送的服务,说实话,真没怎么使用过MQTTClient,也不...

  • iOS --- MQTTClient

    ----- 更新 目前使用了 MQTTSessionManage 类 来代替之前的 MQTTSession --...

  • iOS MQTTClient

    1、简介: MQTT 是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以...

  • iOS --- MQTTClient

    前言 由于极光和环信的推送限制我们使用MQTT传输协议来自己推送 协议介绍 https://www.fenxian...

  • iOS MQTTClient

    什么是MQTT MQTT(消息队列遥测传输),基于发布/订阅的消息协议。MQTT工作在TCP/IP协议族上,是为硬...

  • phpmqtt ssl tls使用证书 cafile 文件 连接

    其它语言的mqttclient https://www.eclipse.org/paho/downloads.ph...

  • 屏幕适配的那些坑

    屏幕适配的那些坑 屏幕适配的那些坑

网友评论

      本文标题:MQTTClient 那些坑

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