Kann ich Bonjour von der Kommandozeile aus benutzen?

Ist es möglich, Bonjour von der Kommandozeile aus zu benutzen? Wenn ich beispielsweise einen Dienst registrieren möchte, gebe ich Folgendes ein: bonjour -register service_name port. Und dann vergibt Bonjour eine kostenlose IP für meinen Dienst. Wenn ich beispielsweise eine Liste der verfügbaren Dienste anzeigen möchte, gebe ich Folgendes ein: bonjour -showServices. Und dann bekomme ich eine Liste aller verfügbaren Dienste mit ihren Namen, IP-Adressen und Ports. Gibt es so etwas?

Ich bin etwas verwirrt über die verfügbaren Unterlagen. Zum BeispielHierAm Anfang des Dokuments sehe ich:

Rufen Sie DNSServiceRegister auf, um Ihren Dienst zu registrieren.

Wo soll ich es nennen? In der Kommandozeile? In Java? In C ++? In Python? Es ist seltsam, dass diese Art von Kontext nicht bereitgestellt wird.

Im Allgemeinen finde ich nur allgemeine Informationen zu zeroconf und Bonjour (was es tun soll). Aber ich kann nichts Konkretes und Einfaches finden. Wie "Hallo Welt" Beispiele für die Verwendung von Bonjour.

Kann mir jemand dabei helfen?

 Max05. März 2010, 10:27
Ich fand ein Beispiel für eine reale Verwendung von Bonjour über die Befehlszeile, um einen Drucker auf einem anderen Computer zu bewerben, der mDNS nicht unterstützt. Möglicherweise finden Sie Antworten auf einige Ihrer Fragen:playcontrol.net/ewing/jibberjabber/…
 jdizzle26. Feb. 2012, 05:42
dns-sd ist ein Befehlszeilen-Tool zum Registrieren / Durchsuchen von Bonjour-Ankündigungen. Es ist genau das, was Sie sagen, aber ich wette, was Sie wirklich wollen, ist eine Bonjour-API für Ihre Anwendung, die ebenfalls vorhanden ist.
 Roman05. März 2010, 10:19
Vielen Dank für die Antwort. Sie helfen, aber Is bekam immer noch keine Antwort auf meine Frage: "Kann ich Bonjour von der Kommandozeile aus benutzen?". Max, mDNS ist nicht für Windows (was ich brauche). jdizzle, dns-sd ist sehr nah an dem, was ich brauche, aber es ist nicht Bonjour, oder? Darf dns-sd von Bonjour verwendet werden?

Antworten auf die Frage(3)

dns-sd ist das Befehlszeilenprogramm, das sowohl unter Windows als auch unter Mac OS X funktioniert.

Ich benutze es oft, um iTunes-Freigaben mit ssh über das Internet zu tunneln. Meine typische Verwendung istdns-sd -P my_music _daap._tcp. local 3690 localhost 127.0.0.1. Dies setzt voraus, dass ich einen SSH-Tunnel eingerichtet habe, der den Localhost-Port 3690 mit dem Port 3689 des Hosts verbindet, der iTunes im fremden Netzwerk gemeinsam nutzt. Dadurch wird in iTunes ein kleines iTunes-Symbol mit dem Namen "my_music" angezeigt.

 Roman04. März 2010, 14:20
Aber ich denke, mDNS ist für Mac OS, nicht wahr? Ich muss Windows XP verwenden.
 Roman04. März 2010, 14:52
Gibt es etwas ähnliches für Windows?
 Roman04. März 2010, 14:21
Kaufen Sie den Weg, ist mDNS ein Teil von Bonjour? Oder wie hängen mDNS und Bonjour zusammen?
 Max04. März 2010, 14:45
Ja, mDNS ist ein Mac OS / UNIX-Programm. mDNS ist ein Teil von Bonjour (was früher als Rendezvous bezeichnet wurde), einer Implementierung von Zeroconf-Netzwerken durch Apple. Schauen Sie sich das Referenzmaterial auf der Apple-Website an:developer.apple.com/networking/bonjour/index.html.
 Max04. März 2010, 15:20
Ich bin mir nicht sicher, ob die Befehlszeilentools zu Apples Bonjour für Windows gehören. Warum nicht herunterladen und prüfen? Wenn Sie sich für ein (kostenloses) ADC-Konto anmelden, können Sie meines Erachtens auch Quellcode herunterladen.

zeilen-Tools, die von Apple für die Interaktion mit Bonjour geschrieben wurden.

Sie können das Befehlszeilentool verwenden, um ein paar Dinge mit Bonjour zu tun, aber um aus der man-Seite von dns-sd zu zitieren:

Der Befehl dns-sd ist hauptsächlich für die interaktive Verwendung vorgesehen. Da sich die Befehlszeilenargumente und das Ausgabeformat ändern können, ist das Aufrufen über ein Shell-Skript im Allgemeinen problematisch.

Wenn Sie DNS-Dienstermittlungsvorgänge in einer Skriptsprache ausführen möchten, ist es am besten, nicht den Befehl dns-sd auszuführen und dann zu versuchen, die Textausgabe zu entschlüsseln, sondern die DNS-SD-APIs direkt über aufzurufen eine Bindung für Ihre gewählte Sprache.

Wenn Sie beispielsweise in Ruby programmieren, können Sie DNS-SD-APIs direkt mit dem unter dokumentierten dnssd-Paket aufrufenhttp://rubyforge.org/projects/dnssd/. Ähnliche Bindungen für andere Sprachen befinden sich ebenfalls in der Entwicklung.

Sie haben beispielsweise nach "DNSServiceRegister" gefragt, bei dem es sich um eine C-Funktion handelt:
http://developer.apple.com/library/mac/#documentation/Networking/Reference/DNSServiceDiscovery_CRef/dns_sd_h/index.html#//apple_ref/c/func/DNSServiceRegister

Ihre Antwort auf die Frage