mdns-js2
v0.1.5
Published
JavaScript/NodeJS mDNS discovery implementation
Downloads
16
Readme
mDNS-js
Pure JavaScript/NodeJS mDNS discovery implementation.
A lot of the functionality is copied from https://github.com/GoogleChrome/chrome-app-samples/tree/master/mdns-browser but adapted for node.
Install by
npm install mdns-js
Future
It would be great to have a full implementation of mDSN + DNS-SD in pure JS but progress will be slow unless someone is willing to pitch in with pull requests, specifications for wanted functions etc. Also, as you should avoid to have multiple mDNS stacks on a system this might clash with stuff like avahi and bonjour.
example
var mdns = require('mdns-js');
var browser = new mdns.createBrowser();
browser.on('ready', function () {
browser.discover();
});
browser.on('update', function (data) {
console.log('data:', data);
});
Debugging
This library is using the debug module from TJ Holowaychuk and can be used like this.
DEBUG=mdns* node examples/simple.js
This will spit out a lot of information that might be useful.
Contributing
Pull-request will be gladly accepted.
If possible any api should be as close match to the api of node-mdns but be pragmatic. Look at issue #5.
Before creating a pull-request please run
npm run lint
on any changed code. There is a .jshintrc file included in the project, use it, and don't be offended by it.
License
Apache 2.0. See LICENSE file.
References
- https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/mdns-browser
- http://en.wikipedia.org/wiki/Multicast_DNS
- http://en.wikipedia.org/wiki/Zero_configuration_networking#Service_discovery
- RFC 6762 - mDNS - http://tools.ietf.org/html/rfc6762
- RFC 6763 - DNS Based Service Discovery - http://tools.ietf.org/html/rfc6763
- http://www.tcpipguide.com/free/t_DNSMessageHeaderandQuestionSectionFormat.htm
Contributors
- James Sigurðarson, @jamiees2
- Stefan Sauer, @ensonic