现在有一个很奇怪的问题,我在网上找不到答案。以下是我计划如何建立一个项目:
Controller App --> Node.js Server (probably Express) --> Some IoT Device Running Node.js Who Knows Where
因此,从本质上说,控制器应用程序想要控制物联网设备,但它可能在任何地方。因此,它与位于静态IP上的服务器通信,静态IP将跟踪该物联网设备的位置(可能位于任何网络/IP/端口上)。因此,控制器应用程序将向服务器发送一个请求,服务器将告诉这个物联网设备它要做什么。
问题是,Node.js服务器如何知道设备在哪里?
建议的解决方案A:我想到的一种方法是拥有一个服务器,并在服务器和物联网设备之间共享一个秘密字符串。服务器将具有一些“终结点(?)”物联网设备可以“订阅”的。
建议的解决方案B:物联网设备形成WebSocket或Sockets.io连接。虽然这可能是一个更好、更简单的解决方案,但当您添加许多设备时,服务器在实时与多个设备通信时是否会占用更多的资源?
谢谢!