我的问题是关于“本地网络上文件服务器服务的自动发现”。
我想实现一个基本上是文件服务器的服务并将其发布在本地网络上。 连接到本地网络的客户端 PC 应该自动找到该服务并映射(挂载)网络驱动器,无需用户干预。
当我浏览网页不久,我认为 Apple 的“Bonjour”和 Windows 的“UPnP”是实现此类功能的最佳选择。
这个假设正确吗?你还知道其他好的建议吗? Linux 怎么样?
更新: 仅供引用 - 我使用 Avahi 在 Linux 上完成了零配置软件实现适用于 Mac OS X 网络和 PnP-X对于 Windows 网络。您可以在 here 找到 PnP-X 示例代码。另请参阅my another question对于 PnP-X。
最佳答案
Bonjour (mDNS) 是一个很好的解决方案,并且有适用于 Mac、Windows 和 Linux 的稳定库。
- OS X - 查看 NSNetService 的文档
- Windows - 我会使用 Apple Bonjour SDK for Windows或jMDNS如果您正在开发 Java 应用程序,请使用库。
- Linux- Avahi API 可能是最容易集成的。
苹果有open-sourced它的引用 mDNS 实现并让它在大多数平台上编译是非常简单的。还有许多脚本语言的包装器,例如 Net::MDNS对于 ruby 。
关于bonjour - 如何将文件服务器服务发布到本地网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935212/