美文网首页
MQTT的修炼之路

MQTT的修炼之路

作者: 视觉魔术师 | 来源:发表于2017-04-20 16:32 被阅读0次

    First blood. 什么是MQTT


    MQTT 是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议 ----------------------百度词条解释

    Double Kill.应用场景


    MQTT是一个设计得非常出色的传输层协议,在移动消息、物联网、车联网、智能硬件甚至能源勘探等领域有着广泛的应用。1个字节报头、2个字节心跳、消息QoS支持等设计,非常适合在低带宽、不可靠网络、嵌入式设备上应用。

    不同的应用有不同的系统要求,用户使用emqttd消息服务器前,可以按自己的应用场景进行测试,而不是简单的连接压力测试:

    Android消息推送: 推送消息广播测试。

    移动即时消息应用: 消息收发确认测试。

    智能硬件应用: 消息的往返时延测试。

    物联网数据采集: 并发连接与吞吐测试

    Triple Kill.先来说朕的MQTT的framework如何选择的

    EMQ MQTT的客户端sdk列表,这里你想要的基本上都有了,一定要和你的后台小伙伴分享一下.

    个人而言,选择的是MQTTClient至于为什么??????

    我用的OC开发,况且MQTTClient最近都有更新,迭代.一个有人维护的为什么不选???!!!

    Quadra Kill.我们再来简单介绍一下MQTTClient.

    项目导入的事情,请交给Cocopods

    下面是MQTTClient的内容:

    这么多,看起来是不是一脸蒙、两脸懵逼、三脸懵逼(顿号)百脸懵逼........

    淡定,我也是这么过来的,等下会告诉你们,一些会用到的东西

    Penta Kill.进入正题(五杀才是我的风格)

    朕的项目所导入的MQTTClient

    为什么注释"MQTTClient/ManagerL"?

    因为我们要自己分装MQTT啊,虽然MQTTClient/ManagerL这个里面已经帮你封装了,但是我们自己封装一遍才有自己的思想啊

    1.MQTTSessionManager,第一层API(宝贝儿,抛弃她吧,这个manager我们自己来写),这里面帮你封装了MQTTSession,提供了最基本的调用方式和信息回调,以及订阅主题和发送消息,不知道什么是主题??????

    fuck,let us see!

    MQTT 名词解释

    2.MQTTSession这个是第二层API,这里面就是MQTTSessionManager包装调用的那一层,解决的也是调用方式和信息回调,以及订阅主题和发送消息,不过这里面的方法可多多了......

    MQTTSession和MQTTSessionManager方法

    Legendary Kill.让偶们来写一些代码吧

    其实本来不想写封装的,写了说不定会导致你们直接抄,所以我决定,截图

    1,最简单的接入

    MQTT接入示例,抛弃她吧,这不是我们想要的.

    2.我们自己封装MQTTSession

    先创建一个单例类,MessageHandle

    在声明文件中写:

    最重要的:

    BaseInstanceModel这个是朕自己封装的单例基类,你们直接继承NSObject

    好,声明写完了,我们要写实现了:

    先写一个extension

    接着来写我们的shareInstance

    下面是delegate的实现

    好啦,基本功能已经完成,由于我们项目中有很多特殊内容,不能直接给你们看,这些基本内容应该够你们使用了.如果你们要使用加密之类的,比如ssl可以私聊我,这部分我已经做过了.不过用的人应该不多,我就没在这儿写.

    ACE

    后续有什么问题可以直接留言,也可以微博联系,微博关注哦,亲!

    相关文章

      网友评论

          本文标题:MQTT的修炼之路

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