摘要:设备向这台服务器申请发送数据,作为响应,服务器把数据发给设备。只要建立了一次连接,就能实现从发送服务器和客户端发送数据。然后,发送服务器则是发布者,同样向中介进行发布。
发送服务器的目的在于向设备发送数据并控制设备。
这篇主要是利用HTTP、WebSocket、MQTT 协议来看看如何实现同步和异步传输。
发送服务器等待接收HTTP 请求的Web 服务器。设备向这台服务器申请发送数据,作为响应,服务器把数据发给设备。
使用者需要定期从设备执行轮询连接。
原因有二:
1.无法确定唯一地址,例如无法给设备设定全局IP 地址等。这种情况下,发送服务器就不知道应该把数据发送给哪台设备了。
2.考虑到设备频繁断电和移动线路的传输费用。此时,设备没有持续连接网络。即使设备已经连接过网络,但只要没有持续连接,那么,即使发送服务器执行了发送数据的操作,也发不到设备那里去。
使用WebSocket 时,需要用设备连接发送服务器,并确立WebSocket连接。只要建立了一次WebSocket 连接,就能实现从发送服务器和客户端发送数据。
前文介绍了HTTP 和WebSocket,它们采用的方法都是由设备访问发送服务器。就这些方法而言,只要客户端没有发出申请,数据就不会被发送。当然使用者也可以在设备上建立HTTP 和WebSocket 协议,由服务器来连接设备。不过,一旦增加了设备,服务器想管理所有设备就
相当困难了。
针对这点,来试着看一下这种服务器:它灵活运用MQTT,并且发挥了发布/ 订阅模型的优点。使用MQTT 时的发送服务器如图所示。
首先设备作为订阅者,向MQTT 中介进行订阅。然后,发送服务器则是发布者,同样向中介进行发布。这样一来,发送服务器只需要把确定的数据加在主题上发送就行了,发送服务器和设备都不需要知道彼此的地址。只要知道中介的地址,就能够实现通信。一旦订阅者断开,中介就会负责在断开时发送通知,并在重新连接时再次发送数据。
通过灵活运用MQTT 的功能,构建发送服务器就变得简单多了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/122506.html
摘要:一个轻量级高效率的支持聊天与物联网的通讯框架从月初到现在已经大约已经三个月了,由于一直没有时间与精力很好的维护这个项目,心里一直有所歉意。希望本项目对你有所帮助,我的目标暂定,一个小众加物联网的开源通讯项目。 篇幅较长,感谢阅读。 万事开头难 在我决定做开源是因为自身工作接触到大多数的项目都是基于开源大佬写的框架,自觉惭愧,工作以来一直忙于业务与功能实现,多多少少做过的几个项目也没能抽...
摘要:本文是其中的一个解决方案。地址客户端服务端前端网页介绍,消息队列遥测传输是开发的一个即时通讯协议,有可能成为物联网的重要组成部分。必须用于在顶层分隔符之后,除了当自己指定时。 1. 问题描述 最近,本实验室大量上马云测量,云监控方面的项目,大概是属于物联网应用的一个分支。老板也有将旧有仪器改造的想法,所以要实现仪器设备的云控制。本文是其中的一个解决方案。 2. 技术选型 消息队列:M...
摘要:定律在那篇最流行的编程语言能做什么里,我们列举了在不同领域的使用情况,今天让我们来详解一下在物联网中的应用。这个硬件层决定了物联网应用比应用更加复杂。这时,我开始关注实现物联网应用的可能性。 凡是能用JavaScript写出来的,最终都会用JavaScript写出来。 —— Atwood定律 在那篇《最流行的编程语言JavaScript能做什么?》里,我们列举了JavaScript在不...
摘要:定律在那篇最流行的编程语言能做什么里,我们列举了在不同领域的使用情况,今天让我们来详解一下在物联网中的应用。这个硬件层决定了物联网应用比应用更加复杂。这时,我开始关注实现物联网应用的可能性。 凡是能用JavaScript写出来的,最终都会用JavaScript写出来。 —— Atwood定律 在那篇《最流行的编程语言JavaScript能做什么?》里,我们列举了JavaScript在不...
阅读 2577·2021-11-17 09:33
阅读 3870·2021-10-19 11:46
阅读 883·2021-10-14 09:42
阅读 2231·2021-09-22 15:41
阅读 4084·2021-09-22 15:20
阅读 4574·2021-09-07 10:22
阅读 2281·2021-09-04 16:40
阅读 792·2019-08-30 15:52