私は現在、Javaで利用可能なさまざまなサービス検出プロトコルを調べており、いくつかのリストを作成しました。
- DNS-SD [ 1 ]別名mDNS - jmDNSによって実装され、ECF(Eclipse Communication Framework)のZeroconf/Bonjourディスカバリープロバイダーのバックエンドとしても使用されます。
- UPnP [ 2 ] -Clingライブラリによって実装されます
- SLP - OpenSLPおよびjSLPプロジェクトによって実装されます(後でECFディスカバリープロバイダーとしても利用可能です)
おそらくもっと多くのオプションがあります。もしそうなら、私はあなたにタムをミックスに加えることを勧めます。
これらの1つまたは多くを使用したことのある人々から、各プロトコルの長所と短所の客観的なリストを入手したいと思います。サービスの公開と検出の実装はどのように見えますか、プロトコルの「おしゃべり」とは何か、それはどれほど信頼できるか(プロトコルと実装の両方)、集中型サービスディレクトリが必要ですか、それともp2p/分散型などです。
LAN上の複数のデバイス/サービスのシームレスな自動検出を提供するためにどちらを選択しますか?