为了将UDP扩展到端口65123,我编写了如下代码。
let broadcastClient = dgram.createSocket('udp4')
broadcastClient.on('listening', () => {
console.log('now listening...')
broadcastClient.setBroadcast(true)
const msg = Buffer.from('helele')
setInterval(() => {
console.log('send message')
broadcastClient.send(msg, 65123, '255.255.255.255', (err, bytes) => {
if (err) console.error('broadcast error', err)
if (bytes) console.log('bytes', bytes)
})
}, 300)
})
broadcastClient.bind(65120)日志说它被正确发送了。但我查过Wireshark没有广播信息。

我做错了什么?
发布于 2020-07-09 11:01:42
255.255.255.255并不意味着完全广播。所以我应该得到本地广播地址,如下所示。
广播地址=(~子网掩码)|(主机的IP地址)
代替255.255.255.255,通过使用192.168.0.255,UDP广播可以成功。
https://stackoverflow.com/questions/59762330
复制相似问题