代码拉取完成,页面将自动刷新
#!/usr/bin/env node
var mdns = require('./')()
var path = require('path')
var os = require('os')
var announcing = process.argv.indexOf('--announce') > -1
if (process.argv.length < 3) {
console.error('Usage: %s <hostname>', path.basename(process.argv[1]))
process.exit(1)
}
var hostname = process.argv[2]
if (announcing) {
var ip = getIp()
mdns.on('query', function (query) {
query.questions.forEach(function (q) {
if (q.name === hostname) {
console.log('Responding %s -> %s', q.name, ip)
mdns.respond({
answers: [{
type: 'A',
name: q.name,
data: ip
}]
})
}
})
})
} else {
mdns.on('response', function (response) {
response.answers.forEach(function (answer) {
if (answer.name === hostname) {
console.log(answer.data)
process.exit()
}
})
})
mdns.query(hostname, 'A')
// Give responses 3 seconds to respond
setTimeout(function () {
console.error('Hostname not found')
process.exit(1)
}, 3000)
}
function getIp () {
var networks = os.networkInterfaces()
var found = '127.0.0.1'
Object.keys(networks).forEach(function (k) {
var n = networks[k]
n.forEach(function (addr) {
if (addr.family === 'IPv4' && !addr.internal) {
found = addr.address
}
})
})
return found
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。