Multicast DNS & discovery
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
doc find wildcard added Apr 28, 2017
.gitattributes initial commit Jan 6, 2017
.gitignore readme Jan 6, 2017
.npmignore readme Jan 6, 2017
LICENSE some smal fixes Mar 16, 2017
mdns-discovery.js fix for node 0.10 & node 0.12 Jun 27, 2017
package.json fix for node 0.10 & node 0.12 Jun 27, 2017
readme.md added a filter Jan 8, 2017

readme.md

###mdns Multicast DNS

NPM version License

####Some Examples:

Find all Amazon Fire TV devices on the local network:

var Mdns = require('mdns-discovery');

var mdns = new Mdns({
    timeout: 4,
    returnOnFirstFound: true,
    name: '_amzn-wplay._tcp.local',
    find: 'amzn.dmgr:'
});
mdns.run (function(res) {
    res.forEach(enry) {
       console.log(entry);
    }
});

List all mdns questions and answers for 10 seconds:

var Mdns = require('mdns-discovery');

var mdns = new Mdns({ timeout: 10 });
mdns.on('packet', function (packets, rinfo) {
    if (packets.answers) packets.answers.forEach(function(packet, i) {
        console.log(`A: ${rinfo.address} - packet[${i}]=${packet.name}, type=${packet.type}, class=${packet.class}, ttl=${packet.ttl}}`);
    });
    if (packets.questions) packets.questions.forEach(function(packet, i) {
        console.log(`Q: ${rinfo.address} - packet[${i}]=${packet.name}, type=${packet.type}, class=${packet.class}, ttl=${packet.ttl}}`);
    });
});
mdns.run ();

Presence:

var mdns = require('mdns-discovery')();

mdns.onIP('192.168.1.31', function (packet, rinfo) {
    if (packet.answers.length) {
        console.log(rinfo.address + ' is present');
    }
}).run ();

Filter:

var mdns = require('mdns-discovery')();

var mdns = Mdns({
    timeout: 3,
    name: '_amzn-wplay._tcp.local',
    find: 'amzn.dmgr:'
});

var allreadyUsed = [ {ip: '192.168.1.94'}, {ip: '192.168.1.91'} ];

mdns.setFilter('ip', allreadyUsed).run (function(res) {
    res.forEach(function(v) {
        console.log(v);
    });
});