Standard mDNS service on Windows

Last time I needed one, Apple's Bonjour Print Services for Windows was the most convenient mDNS client for Windows I could find. Only 5MB.


No, Microsoft doesn't directly support Multicast-DNS.

However, there appear to be several 3rd-party alternatives:

  • http://bens.me.uk/2013/multicast-dns-and-development-virtual-machines

  • http://en.wikipedia.org/wiki/Bonjour_%28software%29

  • http://www.icir.org/gregor/tools/autoconf-protocols.html

  • http://www.zeroconf.org/

    ... and ...

  • http://blogs.technet.com/b/networking/archive/2008/04/01/how-to-benefit-from-link-local-multicast-name-resolution.aspx


Starting with Windows 10, Microsoft made strides towards a native Windows implementation of mDNS and DNS-SD.

While earlier iterations have been limited to UWP apps, a general Win32 API has been exposed from at least SDK version 10.0.18362.0 (1903/19H1, May 2019).

Note: This implementation is currently confirmed working only for 64bit build targets, there is an open issue preventing compilation for 32bit targets.

Outdated note from a previous version of this answer:

Early iterations resulted in mDNS network flooding:

Windows 10, in its default configuration, will spam its local networks by responding to all mDNS requests with null response packets.

This issue was fixed in Windows 10 1511 (10586) and above


Have also successfully used C++/WinRT for dnssd discovery directly from C++ now. It appears from our perspective to be quicker and more reliable to query services and will let you easily install a watcher to get notifications when devices arrive etc. Of course, this is limited to versions of Windows 10 with support for C++/WinRT, which starts with 10.0.17134.0 (Windows 10, version 1803).

One caveat: We've noticed that it does not provide, nor recognise, a FQDN (trailing dot). So for a device that Bonjour OR Avahi would give an address of mydevice.local., Windows instead gives mydevice.local. Attempting to ping mydevice.local. under Windows 10 (1809) fails.

Tags:

Mdns