我有一个当前配置为 TCP 服务器的 IoT 边缘设备;设备收集并处理一些数据,然后将其传递给连接的客户端。当服务器和客户端在同一网络上时,这将按预期工作。
但是,以上仅代表四种可能的用例之一:
- 同一网络上的边缘设备和客户端(如上所述)。
- 边缘设备通过调制解调器/路由器连接到互联网,客户端位于不同的网络上。
- 边缘设备通过手机热点连接到互联网,客户端位于不同的网络上。
- 边缘设备通过 4G 加密狗连接到互联网,客户端位于不同的网络上。
在上面的案例 2 中,我了解如何应用案例 1 中的过程,通过在边缘设备连接的调制解调器/路由器上建立端口转发并使用网络的公共 IP 地址。但是,据我了解,在使用移动热点连接时,端口转发不可用(出于所有意图和目的)。同样,4G 加密狗运营商(通常)不提供公共 IP 地址,因此在这种情况下,将 TCP 连接路由到边缘设备服务器也不起作用。
哪些选项可以允许所有四个用例的客户端-服务器 TCP 连接?出于额外的上下文和考虑,TCP 数据也需要被保护/混淆。此外,数据是时间敏感的,因此确保从服务器传输数据到客户端接收数据之间的延迟最小是至关重要的。