美文网首页
基于Mqtt的IM开发

基于Mqtt的IM开发

作者: sxq1234567 | 来源:发表于2018-05-07 09:08 被阅读0次

    整个分享包含三部分内容:

    1、简单描述mqtt是什么;

    2、Mqtt在项目中的应用;

    3、从聊天UI说说IM开发。


    一、首先说说mqtt是什么

    1、官方说,MQTT 是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,因此易于实现。这些特点使得它对很多场景来说都是很好的选择,包括受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT),这些场景要求很小的代码封装或者网络带宽非常昂贵。

    特点:

    a、使用发布/订阅消息模式,提供了一对多的消息分发和应用之间的解耦。

    b、消息传输不需要知道负载内容。

    整个传输报文使用二进制字节流

    c、提供三种等级的服务质量:

    最多一次,尽操作环境所能提供的最大努力分发消息。消息可能会丢失。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久之后会再次发送。

    至少一次,保证消息可以到达,但是可能会重复。

    仅一次,保证消息只到达一次。例如,这个等级可用在一个计费系统中,这里如果消息重复或丢失会导致不正确的收费。

    最多一次,就是所说的qos0 ,质量级别最低,不需要应答确认。

    至少一次,就是所说的qos1,收到控制报文后需要应答确认,比如创建连接、发消息、收消息、心跳。

    仅一次,就是所说的qos2,收到控制报文后需要应答确认,最高的服务质量,需要额外的开销,因为这种质量下,收到控制报文需要双向确认应答。

    目前,我们使用的是qos1,开销相对较低,质量相对较高的折中方案。

    d、很小的传输消耗和协议数据交换,最大限度减少网络流量。

    下面会说到报文的构成。

    e、异常连接断开发生时,能通知到相关各方。

    出现异常断开连接的时候,客户端会受到异常提醒,我们在客户端定义了一个对应的常量PUBLISHMSG_FAIL_LOSTCONNECT = 32109,稍后到代码中去看。

    这篇文章对mqtt简单描述,下一篇文章简单说说mqtt服务质量等级和协议流程

    需要详细了解的微信交流:sxq_966

    最后希望大家支持一下,自己家的蜂场,经营蜂蜜、蜂巢蜜、蜂王浆、蜂王浆皂,送家人、朋友很好的选择,尤其是蜂王浆皂,可以让你回购到天荒地老,美白、保湿、清洁皮肤,洗完脸、洗完澡各种舒服。

    需要的微信联系,也可以淘宝下单:

    淘宝店铺名称:移动的的蜂场-淘宝网

    淘宝店铺链接:https://shop248482466.taobao.com/index.htm?spm=2013.1.w5002-14854548070.2.322b622595kN9v

    相关文章

      网友评论

          本文标题:基于Mqtt的IM开发

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