JMDNS 以外に bonjour/zeroconf 用の Java ライブラリはありますか?
9 に答える
また、最高のクロスプラットフォーム DNS-SD (Zeroconf、Bonjour、DNS 自己発見) ライブラリが存在することにも興味があります。
Apple の DNS-SD dnssd.jarは、Windows、Linux などでネイティブ ライブラリのサポートを必要とする「公式」Java ライブラリのようですが、Mac OSX ではそのまま使用できます。
純粋な Java DNS-SD 実装は他にもありますが、DNS-SD と同じくらい使いやすいか、完全にテストされたライブラリを提供するものがあるかどうかは不明です (一部のプロジェクトは 2 年間放棄されているようです)。
- 公式の Apple DNS-SD mDNSResponder ライブラリ
- mDNSResponder と jmDNS の統合- jmDNS と Apple の mDNSResponder 実装に共通の DNS-SD インターフェイスを提供するライブラリを作成する作業が行われました。jmDNS ラッパーの使用手順。
- waiter - 「最新の DNS ライブラリと効果的な DNS-SD (サービス検出) ライブラリ」と表現されています。Java NIO ネットワークを利用します。
- jmDNS - JmDNS は, JDK 1.4 以降で動作する使いやすい Pure-Java mDNS 実装を提供します.
- JiveDNS - 「JiveDNS は、マルチキャスト DNS サービスの検出と登録に使用される、廃止された JmDNS ライブラリのフォークです。」(それ自体は 2 年以上 SVN の更新を見ていません)
試してみてください:
-- 同じ Java DNS-SD API は、Bonjour for Windows、Bonjour for Linux、Solaris、*BSD などでも利用可能で、Java ソフトウェアが Zeroconf の DNS サービス ディスカバリをプラットフォームだけでなく幅広いプラットフォームで利用できるようにします。マックOS X……
Waiter は DNS-SD 用の純粋な Java ライブラリのようです。ここから入手できます:
他のmDNS互換アプリケーションにサービスの可用性を通知したり、他のアプリケーションからmDNSサービスを利用したりすることが目標でない限り、独自のブロードキャストベースのサービス検出を実装する方が理にかなっている場合があります。
独自の実装を作成する方が簡単であることがわかりました (クロスプラットフォームのケースで WS-Discovery と Bonjour を使用した経験の後) https://github.com/4ntoine/ServiceDiscovery-java。クライアント側とサーバー側の両方に Java と iOS の両方の impl があります。
私は mDNS Service Discovery の単純で純粋な Java 実装に取り組んできました。現時点では同期ブラウジングのみがサポートされていますが、次のリリースで非同期リスナーを追加する予定です。これは無料のソフトウェアであり、 https://github.com/fflewddur/holaの GitHub で入手できます。
唯一の要件は、Java 8 と、クラスパスでslf4j-apiを使用できることです。
avahi4j を試してください ( https://code.google.com/archive/p/avahi4j/ )。しかし、プロジェクトはアーカイブされており、2009 年からの活発な開発はありません。