2014-05-13 12 views
14

Hat Windows (einige moderne Geschmack) einen mDNS-Server installiert und/oder standardmäßig ausgeführt? Wenn ja, wie sagt man es, vorzugsweise dynamisch, einen neuen Dienst zu starten/stoppen?Standard mDNS-Dienst unter Windows

Wenn es keinen Standard gibt, wie behandelt man dann das Problem von Konflikten, die versuchen, mehrere mDNS-Server in dieser Umgebung zu betreiben?

Im Grunde möchte ich einen Dienst implementieren, der unter Linux, Windows und Mac OS X läuft und der seinen Zeroconf-Webserver-Standort mit mDNS bekannt machen muss. Unter Linux verwende ich einfach avahi-publish (oder installiere eine Konfigurationsdatei). Ich vermute, dass die Antwort für OS X einfach ist. Ich habe Probleme, Informationen für Windows zu finden.

Antwort

0

Die kurze Antwort ist sowohl Avahi und Bonjour zu unterstützen. Sie benötigen die Bonjour-Unterstützung, um auf OSX zu laufen, und wenn ein Windows-Benutzer iTunes installiert hat, wird er sie bereits ausführen.

Als Fallback für Windows-Benutzer, die nicht mit iTunes arbeiten, können Sie Avahi als Bibliothek für Windows kompilieren (und mit ein wenig Aufwand) und bündeln. Dies ist ein nicht-triviales bisschen Verpackung, aber die Alternative besteht darin, dass Ihre Windows-Benutzer iTunes installieren müssen, um Ihre Anwendung zu verwenden.

+1

Avahi und Bonjour sind unterschiedlich lizenzierte Implementierungen desselben Protokolls. https://en.wikipedia.org/wiki/Avahi_(software)#Avahi_vs._Bonjour – Matt

9

Beginnend mit Windows 10 scheint Microsoft Schritte in Richtung einer nativen Windows-Implementierung von mDNS und dns-sd zu machen.

Ihre erste Iteration in Folge mDNS network flooding:

Windows-10, in der Standardkonfiguration wird seine lokale Netzwerke durch Antworten auf alle mDNS Anfragen mit null Antwortpakete Spam.

Und nach oben:

wurde errichtet über dem Platz zu sehen Verbesserungen Dieses Problem behoben alle in Windows 10 1511 (10586) und über

Recent haben und Windows bietet jetzt eine dns-sd service discovery library .