multicast DNS service discovery
- Package: mdns
- Description: multicast DNS service discovery
npm install mdns(see below)
- Documentation: mdns user guide
- License: MIT
mdns adds multicast DNS service discovery, also known as zeroconf or bonjour to Node.js. It provides an object based interface to announce and browse services on the local network.
// import the modulevar mdns = require'mdns';// advertise a http server on port 4321var ad = mdnscreateAdvertisementmdnstcp'http' 4321;adstart;// watch all http serversvar browser = mdnscreateBrowsermdnstcp'http';browseron'serviceUp'console.log"service up: " service;;browseron'serviceDown'console.log"service down: " service;;browserstart;// discover all available service typesvar all_the_types = mdnsbrowseThemAll; // all_the_types is just another browser...
On Linux and other systems using the avahi daemon the avahi dns_sd compat library and its header files are required. On debianesque systems the package name is
libavahi-compat-libdnssd-dev. On other platforms Apple's mDNSResponder is recommended. Care should be taken not to install more than one mDNS stack on a system.
On Windows you are going to need Apples "Bonjour SDK for Windows". You can download it either from Apple (registration required) or various unofficial sources. Take your pick. After installing the SDK restart your shell or command prompt and make sure the
BONJOUR_SDK_HOME environment variable is set. You'll also need a compiler. Microsoft Visual Studio Express will do. On Windows node >=0.7.9 is required.
mdns is available as a npm package:
npm install mdns
If you want to play with the latest source code, here is a more manual approach:
git clone http://github.com/agnat/node_mdnscd node_mdnsnpm link && npm test
In case you want to run or even publish your package using the development version of mdns you may set the version field to a tarball URL:
See the user guide.
In random order:
- Orlando Vazquez (orlandov)
- Ryan Dahl (ry)
- Dominic Tarr (dominictarr)
- Emil Stenqvist (emilisto)
- Toby Ealden (TobyEalden)
- Ron Korving (ronkorving)
- Don Park (donpark)
Your name is missing on the list? Shame on me. Please open an issue.
If you find a bug, please report it using the issue tracker.