在包括客户端和 Web 服务(服务器)的 Web 应用程序环境中,我想要通过互联网进行客户端-服务器 HTTP 通信。
我知道 IP 地址是动态的并且可能会改变,因此无法通过 IP 地址来识别服务器以进行通信。
我知道我可以使用域名。我实际上没有域名,但我找到了一些在线服务,例如无IP来实现这一点。但是,我想知道是否有其他解决方案可以解决此类问题。
我听说过隧道或类似的东西,但我对此一无所知。
提前致谢。
答案1
如何在没有域名的情况下使客户端与服务器通信?
您可以使用适当的 IP 地址来建立通信。
服务器的IP地址是动态的,可能会改变。
在这种情况下,使用域名是更好的解决方案。域名只是 IP 地址的人性化别名。
我听说过隧道技术,但对其并不了解。
隧道通常用于帮助数据穿越原本无法穿越的网络。然而,据我所知,这通常仍需要已知的目的地。
我知道我可以使用域名。但是,我想知道是否有其他解决方案可以解决此问题。
理论上,如果您不想将域名直接附加到服务器本身,您可以让服务器通过其他方式向客户端更新其 IP。
假设你可能会:
让服务器直接联系客户端以获取此更新。
让服务器联系一个不相关的站点并将其 IP 作为该站点可网络访问的文本丢弃。
无论哪种情况,客户端上的一个小程序都会接收/检索这些数据。如何在客户端上使用这些数据取决于你。以下是一些想法:
将其作为文本文件拖放。
将 IP 写入系统的主办方文件。
创建一个脚本来使用适当的 IP 启动特定的程序/进程。
答案2
如果问题是您的 ISP 更改了您的 IP 地址,您可以要求他提供固定 IP 地址(有些 ISP 会要求支付一些费用来分配该号码)。请注意,通常只要路由器未关闭,它就会保留其外部 IP 地址。
或者,您可以使用动态 DNS 服务,该服务会为您提供服务器上的 DNS 地址,该地址会在您的计算机或路由器启动时自动更新。我的路由器固件具有此功能。例如动态 DNS。