4

我的问题是关于“自动发现本地网络上的文件服务器服务”。

我想实现一个基本上是文件服务器的服务并将其发布在本地网络上。连接到本地网络的客户端 PC 应自动找到此服务并映射(挂载)网络驱动器,无需用户干预。

当我很快浏览网页时,我认为 Apple 的“Bonjour”和 Windows 的“UPnP”是实现这种功能的最佳选择。

这是正确的假设吗?你知道还有什么好的建议吗?Linux 怎么样?

更新:仅供参考 - 我使用Avahi for Mac OS X 网络和PnP-X for Windows 网络完成了我在 Linux 上的零配置软件实施。您可以在此处找到 PnP-X 示例代码。另外,请参阅关于 PnP-X 的另一个问题。

4

2 回答 2

3

Bonjour (mDNS) 是一个很好的解决方案,并且有适用于 Mac、Windows 和 Linux 的稳定库。

  1. OS X - 查看NSNetService的文档
  2. Windows -如果您正在开发 Java 应用程序,我会使用适用于 Windows 的 Apple Bonjour SDKjMDNS库。
  3. Linux - Avahi API 可能是最容易集成的。

Apple 已经开源了它的参考 mDNS 实现,让它在大多数平台上编译非常简单。还有许多脚本语言的包装器,例如ruby​​ 的Net::MDNS

于 2011-08-04T18:28:42.067 回答
2

我认为您正在寻找的是零配置网络,它是一种不受任何供应商约束的技术规范。Apple 的 Bonjour 和 Microsoft 的 UPnP SSDP 是零配置网络的不同实现。一般来说,它允许您以零网络配置宣布/发现网络服务。如果您使用 Java,那么已经有一些框架可以让您的生活更轻松JmDNS和 Cling。

于 2011-08-04T05:12:05.223 回答