场景 IoT 设备(当前为 IPv4 设备),每天通过 TCP 套接字向服务器发送一次有效负载。服务器有一个公共 IP 地址,设备位于路由器/NAT 后面。我将使用基于 ESP8266 的模块(即 Olimex 一个)
目标 的服务器应该能够将数据发送到任何客户端,只要它需要。我对直接客户端到客户端的通信(即从我的智能手机连接到设备)不感兴趣,就像打孔应该做的那样。
其他要求 IoT 设备可能会增长到数千个。他们的互联网连接由支持 4G 的路由器/调制解调器提供。
建议的解决方案 据我了解,一个常见的解决方案是 MQTT。客户端定期将数据发送到代理(即运行在托管服务器上的 Mosquitto),然后更新运行在同一服务器上的主 Web 应用程序。
问题 Web 应用程序是否可以在需要时通过代理向任何客户端发送数据?换句话说:订阅者能否将数据异步发送回特定的发布者(即无需等待下一次传输)?