LogoPear Docs
ReferencesBareModules

bare-mdns-discovery

Reference for bare-mdns-discovery: multicast DNS (mDNS) queries and service discovery for Bare.

bare-mdns-discovery provides multicast DNS (mDNS) for Bare: low-level record queries and higher-level local service discovery. It's pure JavaScript, built on bare-dgram.

npm i bare-mdns-discovery

Usage

const { MDNS } = require('bare-mdns-discovery')

const mdns = new MDNS()
await mdns.ready()

mdns.on('records', (records, rinfo) => {
  for (const r of records) console.log(r.type, r.name, r.data)
})

mdns.query('_http._tcp.local')

API

MDNS

new MDNS(opts?)

Create a low-level mDNS instance.

Options:

  • debug (boolean): Enable debug logging. Default: false.
  • iface (string): IPv4 address of the network interface to join the multicast group on. Required on Android—without this, addMembership falls back to the OS default interface which may not be the WiFi interface, causing responses to be silently dropped. Pass the WiFi IP (for example, from bare-wifi-android's getWifiIP()).

await mdns.ready()

Wait until the responder is bound and ready.

mdns.query(name[, type])

Send an mDNS query. Matching answers arrive on the records event ((records, rinfo)).

mdns.close()

Close the responder.

Discovery

new Discovery(opts?)

High-level service discovery. Extends MDNS.

Options:

  • service (string): Service type without prefix/suffix, for example, 'http', 'googlecast'.
  • debug (boolean): Enable debug logging. Default: false.

discovery.discover([timeout]) · discovery.services

Browse for advertised services; services holds the discovered set and a service event fires as each is found.

discovery.close()

Close the socket. Returns a Promise.

See also

On this page