Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including mdns with all npm packages installed. Try it out:

var mdns = require("mdns")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

mdns v0.0.5

multicast DNS service discovery

h1. mdns -- node.js Service Discovery

|_. Package: | mdns | |_. Description: | multicast DNS service discovery | |_. Version: | 0.0.5 | |_. Installation: | @npm install mdns@ | |_. Documentation: | "mdns user guide": | |_. License: | "MIT": |

mdns adds multicast DNS service discovery, also known as zeroconf or bonjour to "node.js":/joyent/node. It provides an object based interface to announce and browse services on the local network.

h2. Synopsis

bc.. // import the module var mdns = require('mdns');

// advertise a http server on port 4321 var ad = mdns.createAdvertisement(mdns.tcp('http'), 4321); ad.start();

// watch all http servers var browser = mdns.createBrowser(mdns.tcp('http')); browser.on('serviceUp', function(service) { console.log("service up: ", service); }); browser.on('serviceDown', function(service) { console.log("service down: ", service); }); browser.start();

// discover all available service types var all_the_types = mdns.browseThemAll(); // all_the_types is just another browser...

h2. Installation

mdns is available as a npm package:

bc. npm install mdns

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 Apples "mDNSResponder": is recommended. Care should be taken not to install more than one mDNS stack on a system.

If you want to play with the latest source code, here is a more manual approach:

bc.. git clone cd node_mdns npm link && npm test

h2. Documentation

See the "user guide":

h2. Contributors

... in random order:

  • Orlando Vazquez ("@orlandov":
  • Ryan Dahl ("@ry":
  • Dominic Tarr ("@dominictarr":
  • Emil Stenqvist ("@emilisto":

Your name is missing on the list? Shame on me. Please open an issue.

h2. Bugs and Contributions

If you find a bug, please report it using the "issue tracker":

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free