整个分享包含三部分内容:
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
网友评论