摘要:该设备适用于向该服务器发送数据。作为响应,服务器将数据发送到设备。只要连接建立一次,就可以从发送服务器和客户端发送数据。然后,发送服务器是发布者,它也向中介发布。
发送服务器的目的是向设备发送数据并控制设备。
本文主要使用HTTP、WebSocket和MQTT协议来看看如何实现同步和异步传输。
HTTP发送数据发送服务器等待接收HTTP请求的Web服务器。设备向该服务器申请发送数据,作为响应,服务器向设备发送数据。
用户需要定期从设备执行轮询连接。
有两个原因:
1.无法确定唯一地址,例如,无法为设备设置全局IP地址。在这种情况下,发送服务器不知道将数据发送到哪个设备。
2.考虑到设备频繁停电和移动线路的传输成本。此时,设备没有持续连接到网络。即使设备已经连接到网络,只要没有持续连接,即使发送服务器执行发送数据的操作,也无法发送到设备。
使用WebSocket发送数据时,需要将发送服务器与设备连接,建立WebSocket连接。只要建立一次WebSocket连接,就可以从发送服务器和客户端发送数据。
MQTT发送数据。前面介绍了HTTP和WebSocket,两者都是使用设备访问发送服务器。就这些方法而言,只要客户端没有发出申请,就不会发送数据。当然,用户也可以在设备上建立HTTP和WebSocket协议,服务器可以连接设备。但是,一旦添加了设备,服务器就很难管理所有设备。
鉴于此,我们试着来看看这种服务器:它灵活地使用MQTT,利用了发布/订阅模型。使用MQTT时的发送服务器如图所示。
首先,作为订阅者,设备订阅MQTT中介。然后,发送服务器是发布者,它也向中介发布。这样,发送服务器只需要将确定的数据添加到要发送的主题中,发送服务器和设备都不需要知道对方的地址。只要知道中介的地址,就可以实现沟通。一旦订户断开连接,中介负责在断开连接时发送通知,并在重新连接时再次发送数据。
通过灵活地使用MQTT的功能,构建发送服务器变得容易多了。
评论前必须登录!
注册