假设我想让一个朋友运行我的项目,该项目在我的网络上运行网络套接字和其他一些本地服务器,以便我和我的其他朋友可以测试我的项目。如果托管网络套接字的朋友必须离开,他就必须关闭网络套接字,这就会让事情变得糟糕。
我还有一些其他服务器正在运行,每个客户端都单独托管(Vite 和 Express,但它们不参与其中),并且每个服务器中的网页都从该主机连接到 Web 套接字。如您所见,主机断开连接是一个问题。我的其他服务器运行这些网络套接字。
我是否能够拥有多个主机(如果当前主机消失,下一个主机将处理所有请求和套接字消息),或者有什么东西将主机转移给下一个人(在断开连接之前在主机之后连接的人) )?
简而言之,答案是肯定的。
正确配置互联网的一个角落(您自己的 DNS 域、支付托管费用等)已被其他人很好地介绍了。这个答案是一种替代方法,可以在一些背景和限制下完成。
对于您的场景,可能需要实现一些功能,例如将重新连接逻辑放入应用程序中。基本上,如果您连接的服务器消失,您的应用程序应该尝试再次在网络上查找,然后返回正常行为,而不是在第一次返回错误时退出。
网络应用程序及其依赖项的网络配置可能会更好地处理其他问题。
这可能是一个极端的示例解决方案,但有些人的项目在 17.0.0.0 子网(A 类专用网络地址空间)中使用几个随机选择的(但固定 IP)地址。真正随机选择的 4 个地址集在 A 类子网中发生冲突的可能性非常低。但请不要愚蠢地想:没有其他人会在 17 网络上这样做,所以我将使用 17.0.0.1 和 17.0.0.2。