我正在研究适用于Java的各种服务发现协议,并列出了一个小列表:
- DNS-SD[1],又名mDNS - 由jmDNS实现,并且也被用作ECF(Eclipse Communication Framework)的Zeroconf/Bonjour发现提供者的后端
- UPnP[2] - 由Cling库实现
- SLP - 由OpenSLP和jSLP项目实现(后者还可作为ECF发现提供者使用)
可能还有更多的选项,如果有,请随时添加。
我希望从使用过其中一种或多种协议的人那里得到每个协议优缺点的客观列表。发布和查找服务的实现是什么样子的?协议的“喋喋不休”程度如何?它们(协议和实现)可靠性如何?它是否需要集中化的服务目录,还是P2P/去中心化的呢?
你会选择哪一个来提供无缝自动发现局域网上的多个设备/服务?