Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions lib/Service.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ var os = require('os')
var util = require('util')
var EventEmitter = require('events').EventEmitter
var serviceName = require('multicast-dns-service-types')
var net = require('net')

var TLD = '.local'
var REANNOUNCE_MAX_MS = 60 * 60 * 1000
Expand All @@ -24,6 +25,7 @@ var Service = function (opts) {
this.subtypes = opts.subtypes || null
this.txt = opts.txt || null
this.published = false
this.ip = opts.ip || null

this._activated = false // indicates intent - true: starting/started, false: stopping/stopped
}
Expand Down Expand Up @@ -104,6 +106,16 @@ var proto = {
_records: function () {
var records = [this._rrPtr(), this._rrSrv(), this._rrTxt()]

if (this.ip) {
if (net.isIP(this.ip) === 4) {
records.push(rrA(self, this.ip))
return records
} else if (net.isIP(this.ip) === 6) {
records.push(rrAaaa(self, this.ip))
return records
}
}

var interfaces = os.networkInterfaces()
for (var ifaceID in interfaces) {
var iface = interfaces[ifaceID]
Expand Down