📅  最后修改于: 2023-12-03 15:03:14.108000             🧑  作者: Mango
socket.setMulticastInterface()
方法用于设置多播套接字的网络接口。
socket.setMulticastInterface(multicastInterface[, callback])
multicastInterface
<String> | <Number> 目标网络接口的 IP 地址或下标。callback
<Function> 设置操作完成后的回调函数。无。
如果参数 multicastInterface
无效或不是一个有效的 IP 地址或网络接口下标,则抛出异常。
设置多播套接字的网络接口:
const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
const MULTICAST_ADDRESS = '224.0.0.1';
const MULTICAST_PORT = 3000;
// 设置网络接口
socket.setMulticastInterface('192.168.1.100');
socket.on('listening', () => {
console.log(`Listening on ${socket.address().address}:${socket.address().port}`);
});
socket.bind(MULTICAST_PORT, () => {
console.log(`Bound to ${socket.address().address}:${socket.address().port}`);
// 加入多播组
socket.addMembership(MULTICAST_ADDRESS);
setInterval(() => {
socket.send('Multicast message', MULTICAST_PORT, MULTICAST_ADDRESS);
}, 2000);
});