2014-05-13 17 views
14

Windows (un po 'moderno) ha un server mDNS installato e/o in esecuzione di default? Se è così allora come si fa a dirlo, preferibilmente in modo dinamico, per avviare/interrompere la pubblicità di un nuovo servizio?Servizio mDNS standard su Windows

Se non esiste uno standard, come si può affrontare il problema dei conflitti che cercano di eseguire più server mDNS in quell'ambiente?

Fondamentalmente, voglio implementare un servizio che verrà eseguito su Linux, Windows e Mac OS X e che deve pubblicizzare la sua posizione del server Web zeroconf usando mDNS. Su Linux uso solo avahi-publish (o installa un file di configurazione). Immagino che la risposta sarà semplice per OS X. Sto cercando di trovare informazioni per Windows.

risposta

0

La risposta breve è quello di supportare sia Avahi e Bonjour. Avrai bisogno del supporto Bonjour per essere eseguito su OSX e, se un utente Windows ha installato iTunes, lo eseguiranno già.

Come ripiego per gli utenti di Windows che non eseguono iTunes, è possibile compilare Avahi come libreria per Windows (con un minimo di impegno) e raggrupparlo. Questo è un bit non banale di packaging, ma l'alternativa è richiedere agli utenti Windows di installare iTunes per poter utilizzare la tua applicazione.

+1

Avahi e Bonjour sono implementazioni con licenza diversa dello stesso protocollo. https://en.wikipedia.org/wiki/Avahi_(software)#Avahi_vs._Bonjour – Matt

9

A partire da Windows 10, Microsoft sembra fare passi avanti verso un'implementazione nativa di Windows di mDNS e dns-sd.

La loro prima iterazione ha provocato mDNS network flooding:

di Windows 10, nella sua configurazione di default, sarà lo spam sue reti locali rispondendo a tutte le richieste mDNS con pacchetti di risposta nulli.

e follow-up:

Questo problema è stato risolto in Windows 10 1511 (10586) e al di sopra

recenti build avere miglioramenti visti in tutto il luogo e Windows offre ora un dns-sd service discovery library .