我想建立一个由多台计算机组成的本地网络,每台计算机都运行一个 Web 服务器。这些 Web 服务器应该相互通信。但问题是每次启动网络时 IP 地址可能都不同。因此,每台服务器都不知道如何找到另一台服务器。
我知道,在类似情况下,人们会将 Java 与 zeroconf 结合使用。Zeroconf 会自动查找网络中存在的所有计算机,并以相同的方式将此信息提供给 Java。我可以在 PHP 中做类似的事情吗?
答案1
PECL 有一个Zeroconf 扩展你可以尝试一下。Zeroconf/mDNS 并非特定于 Java。但是,我建议使用具有已知配置的静态 IP 地址,而不是具有 Zeroconf 的额外依赖性。
答案2
Apache 有一个 Avahi/mDNS 插件,名为域名解析可以帮助你解决这个问题。
答案3
我认为你应该退一步思考,解决真正的问题。如果你有多个服务器,每个服务器都需要相互查找,那么你应该为它们分配静态 IP。毕竟,将服务器设置为静态 IP 正是要解决的问题。