A more obvious dgram broadcast.
dgram-broadcast
has the correct defaults to just work for broadcast on your
local area network.
Broadcast on port 8999
on your local area network.
const createStream = require('dgram-broadcast')
const stream = createStream(8999)
stream.on('data', (msg) => {
console.log(msg.toString())
console.log(msg.address, msg.port, msg.echo)
})
setInterval(() => {
stream.write(Buffer.from(new Date().toString(), 'utf8'))
}, 1000)
Stream on the port port
. If
loopbackis false, do not output your own messages. Returns a Node.js stream.
destis an array of all the destination addresses on which to broadcast, by default it has only
255.255.255.255` as the
destination.
msg
is the message as a buffer, it also has msg.address
and msg.port
set
to the address and port that originated the message. If msg
is a message that
this stream sent, it will also have msg.loopback = true
.
UDP does not have back-pressure, but the stream API in this module does. If the stream is paused, it will just drop messages. If when the stream is resumed, it will emit the latest message.
MIT