物联网技术
文章平均质量分 90
介绍物联网行业常用的技术,以及这些技术带来的价值
智慧医疗
浙江大学研究生,专注于后端技术架构和人工智能算法的研究,具有多年大厂工作经验。
展开
-
MQTT协议之消息流
接收者以服务器为例,这可能会导致服务器收到重复消息,按照流程,broker(服务器)发布消息到订阅者(会导致订阅者接收到重复消息),然后发送一条PUBACK确认消息到发布者。对于持久的、最新一条PUBLISH消息,服务器不但要发送给当前的订阅者,并且新的订阅者(new subscriber,同样需要订阅了此消息对应的Topic name)会马上得到推送。在Netty中,数据的进入和流出,代表了一次完整的交互。客户端->服务器,进入的字节流,逐个字节/单位读取,可还原成一个具体的消息对象(解码的过程)。原创 2019-12-20 11:06:32 · 279 阅读 · 1 评论 -
MQTT协议之消息订阅
服务器需要支持客户端取消订阅功能,UNSUBSCRIBE消息格式和SUBSCRIBE消息格式差不多,除了消息类型不同,消息体中没有了QoS字节,其它没有区别。QoS,为服务器根据实际情况授予的QoS级别列表,和客户端发送的SUBSCRIBE的订阅Topic Name顺序完全一致。因为上面示范QoS level值为1,因此需要客户端传递消息ID,16位,无符号的short类型。服务器可以发送QoS不大于客户端设置OoS的消息,尤其是服务器不提供良好的持久化机制的时候。订阅部分,共有四个消息,分别一一对应。原创 2019-12-20 11:08:16 · 1293 阅读 · 0 评论 -
MQTT协议之发布流程
无论Qos level为0、1,还是2,服务器(具备所有条件都满足之后)总要把收到的具体内容和topic组装成一个新的PUBLISH Message(也不一定要重新构造,但要求推送的PUBLISH消息,一定要具有明确的主题和内容,RETAIN标志不能设置为1)推送到所有感兴趣的订阅者。字面意思为Assured publish received,作为订阅者/服务器对QoS level = 2的发布PUBLISH消息的发送方的响应,确认已经收到,为QoS level = 2消息流的第二个消息。原创 2019-12-20 11:05:07 · 620 阅读 · 0 评论 -
MQTT协议之连接和心跳
只有在Will Flag位为1时,Will Qos和Will Retain才会被读取,此时消息体payload中要出现Will Topic和Will Message具体内容,否则,Will QoS和Will Retain值会被忽略掉。0,表示如果订阅的客户机断线了,要保存为其要推送的消息(QoS为1和QoS为2),若其重新连接时,需将这些消息推送(若客户端长时间不连接,需要设置一个过期值)。用于授权,两者要么为0要么为1,否则都是无效。都为0,表示客户端可自由连接/订阅,都为1,表示连接/订阅需要授权。原创 2019-12-20 10:52:29 · 1066 阅读 · 0 评论 -
MQTT协议之头部信息
1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。2. 对负载内容屏蔽的消息传输。3. 使用 TCP/IP 提供网络连接。4. 有三种消息发布服务质量:“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。“至少一次”,确保消息到达,但消息重复可能会发生。“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。原创 2019-12-20 11:03:25 · 833 阅读 · 1 评论