15

コマンドラインから Bonjour を使用することはできますか? たとえば、サービスを登録する場合は、次のように入力します: bonjour -register service_name port. そして、Bonjour が私のサービスに無料の IP を割り当てます。または、たとえば、利用可能なサービスのリストを表示したい場合は、次のように入力します: bonjour -showServices. 次に、利用可能なすべてのサービスとその名前、IP アドレス、およびポートのリストを取得します。そのようなものは存在しますか?

利用可能なドキュメントに少し混乱しています。たとえば、ここでは、ドキュメントの冒頭に次のように表示されます。

サービスを登録するには、DNSServiceRegister を呼び出します。

どこに電話すればいいですか?コマンドラインで?ジャワで?C++で?パイソンで?このような文脈が提供されていないのはちょっと奇妙です。

一般に、zeroconf と Bonjour に関する一般的な情報 (何をすべきか) しか見つかりません。しかし、具体的で単純なものを見つけることができません。Bonjour の使用例「Hello World」のように。

誰でもそれを手伝ってもらえますか?

4

3 に答える 3

27

dns-sdは、WindowsとMacOSXの両方で動作するコマンドラインプログラムです。

私はよくsshを使ってインターネット経由でiTunes共有をトンネリングするためにそれを使用します。私の典型的な使用法はdns-sd -P my_music _daap._tcp. local 3690 localhost 127.0.0.1です。これは、外部ネットワークでiTunesを共有しているホストのポート3689へのローカルホストポート3690でsshトンネルリッスンを設定したことを前提としています。これにより、「my_music」という名前の小さなiTunes共有アイコンがiTunesに表示されます。

于 2010-03-04T21:19:24.627 に答える
6

mDNS は dns-sd ツールの古いバージョンです。どちらも、Bonjour と対話するために Apple によって作成されたコマンド ライン ツールです。

コマンド ライン ツールを使用して、Bonjour でいくつかのことを行うことができますが、dns-sd のマニュアル ページから引用します。

dns-sd コマンドは、主にインタラクティブな使用を目的としています。コマンドライン引数と出力形式は変更される可能性があるため、シェル スクリプトからの呼び出しは一般的に脆弱です。

スクリプト言語から DNS サービス ディスカバリ操作を実行する場合、これを行う最善の方法は、dns-sd コマンドを実行してからテキスト出力を解読しようとするのではなく、代わりに を使用して DNS-SD API を直接呼び出すことです。選択した言語のバインディング。

たとえば、Ruby でプログラミングしている場合、http://rubyforge.org/projects/dnssd/ に記載されている dnssd パッケージを使用して DNS-SD API を直接呼び出すことができます。他の言語用の同様のバインディングも開発中です。

たとえば、C 関数である「DNSServiceRegister」について尋ねた場合:
http://developer.apple.com/library/mac/#documentation/Networking/Reference/DNSServiceDiscovery_CRef/dns_sd_h/index.html#//apple_ref/c /func/DNSServiceRegister

于 2011-12-01T02:12:41.853 に答える
1

はい、もちろん可能です。mDNSの man ページを見てください。

于 2010-03-04T13:12:06.537 に答える