连接到 IP 不是 public 的端点

connecting to an endpoint whose IP is not public

我开发了一个去中心化的游戏应用程序,玩家可以使用 websockets 从 GUI 连接到后端。在我的测试环境中,我的后端节点具有静态 public IP,因此我能够建立 websocket 连接并测试游戏。

我打算将游戏发布到社区来测试游戏,但事实是没有多少人有静态 IP 来测试。所以这一切都归结为我觉得我在使用静态 IP 进行连接的初始阶段搞砸了设计 b/w GUI 和后端。

我正在寻找的可能性是,假设如果我的机器连接到互联网,有没有一种方法可以为我的机器分配一些端点地址并且我可以连接到这个端点地址使用MQTT 或任何其他可能的方式。

能否就我如何解决这个问题分享您的意见。

谢谢。

社区需要一个静态public ip,人人都有。 他们拥有的 IP 不是每台计算机 1 个 IP。 现在 IPV4 地址不是很多,他们正在使用 NAT(网络地址转换) 因此 PC 可以在同一个 LAN 中拥有所有共同的 IP 地址。 因此您的应用程序仍然可用,因为 IP 将是静态的,因此使用的端口将是可变的。 你可以在这里看到更多关于 NAT 的信息: https://en.wikipedia.org/wiki/Network_address_translation

对于去中心化网络,你应该考虑的一个更重要的事情是我们在互联网上有很多 NAT 设备(路由器)。所以,我们不能像我们想要的那样相互连接。

你应该像 bt 下载应用程序那样做。例如,您可以有一个跟踪器(集中控制器)。如果你不想,那么DHT和LSD就是你必须要学的。使用这些协议,您可以实现您的设计。