首先,卓悦究竟是做什么的(请阅读我在下面写的猜测)?
在这里,我发现 Bonjour 可以自动发现 IP 网络上的计算机、设备和服务。但我认为它不仅“发现 IP 网络上的设备”,还通过为运行 Bonjour 的设备分配 IP 地址来创建 IP 网络。我对吗?
我仍然想念本质。它以下列方式工作吗?首先,我以物理方式连接设备(例如笔记本电脑),以便它们可以相互通信。然后,比方说,在我运行 Bonjour 的某些笔记本电脑上,这些笔记本电脑以自动方式为它们自己分配 IP 地址。因此,笔记本电脑(运行 Bonjour 的地方)构建了一个 IP 网络。它以这种方式工作吗?
或者可能是一台运行 Bonjour 的计算机不被视为一项服务,它不会仅仅因为 Bonjour 在这台计算机上运行而广播自己。我的意思是在计算机上运行的应用程序需要使用 Bonjour 来广播自己。因此,是应用程序自己广播自己(而不是计算机)并且它不是自动完成的(应用程序需要明确地广播自己)。这样对吗?
我的应用程序究竟如何广播自己?我可以使用命令行注册服务吗(以便所有使用 Bonjour 的应用程序都知道出现了新服务)?
此外,我想要一个使用 Bonjour 创建的 IP 网络的应用程序。为此,我的应用程序需要知道网络中存在哪些设备/服务。更详细地说,我的应用程序需要有一个服务列表。列表中的每个服务都应该有一个名称、它运行的 IP 地址和应用程序使用的端口。Bonjour 能否以某种方式提供这些信息?如果是这种情况,它究竟是如何工作的。我的程序如何从 Bonjour 获取这些信息?我的程序可以读取 Bonjour 创建的包含上述信息的文件吗?我可以在命令行中使用一些命令来检索这些信息吗?
我对从文件、环境变量或命令行中的命令访问有关服务的信息特别感兴趣。这些选项在我看来是最简单的!因为在这些情况下,我不需要使用任何额外的库来通过特定的编程语言与 Bonjour 进行通信。
PS 如果我的问题中有不清楚的地方,请提出问题。我将尝试以更清晰的方式提出我的问题。
PPS我使用的是 Windows 7。
补充:我计划用 PHP 编写我的应用程序。每台计算机都应该运行一个 Apache Web 服务器。我想用 Bonjour 来帮助计算机发现彼此(计算机在本地网络中工作)。