我在命令行中运行它吗?我是否将其作为 GUI 应用程序运行?我认为它通过本地网络发现可用资源并为资源分配地址。接下来发生什么?此信息是否写入了其他应用程序可以读取的某个文件?我可以将 zeroconf 生成的地址放入浏览器的地址行并到达 Web 服务器(在 Web 服务器正在资源上运行的情况下)吗?
我在命令行中运行它吗?我是否将其作为 GUI 应用程序运行?我认为它通过本地网络发现可用资源并为资源分配地址。接下来发生什么?此信息是否写入了其他应用程序可以读取的某个文件?我可以将 zeroconf 生成的地址放入浏览器的地址行并到达 Web 服务器(在 Web 服务器正在资源上运行的情况下)吗?
通常每台提供服务的机器都会运行一个 Zeroconf 守护进程,客户端会在网络上搜索它。例如,在这个 Debian 机器上,有一个名为
avahi-daemon
. 为了宣传服务,程序与守护进程对话。一个简单的方法是使用程序avahi-publish
,它向守护进程注册服务:在该程序终止之前,
avahi-browse
将找到它:大多数情况下,您不想为了发布服务而运行单独的程序,因此您的守护程序将有一些代码来完成它。这里有一些很好的例子来说明如何在 Python 中做到这一点。您可以像这样调用一个简单的函数:
同样,大多数时候您不必运行 avahi-browse,因为您的浏览器可能会自己找到这些东西。例如,Safari 可以在 Mac 上查找“Bonjour”菜单。
您还可以使用 zeroconf 查找机器。
.local
我的机器可以使用域寻址:即使机器不在 DNS 中也可以工作。对于家庭网络非常有用!