找到发送数据报的多播组

时间:2017-08-02 17:23:16

标签: node.js multicast

我正在构建一个节点应用程序,它记录网络上的多播RTP流。这是我的代码:

var server = dgram.createSocket({type: 'udp4',reuseAddr: true});

server.on('listening', function () {
            var address = server.address();
            server.addMembership("<the multicast group>");
            console.log('UDP Server listening on ' + address.address + ":" + address.port);
    });

server.on('message', function (message, remote) {
    // do some stuff
});

此进程不是在此主机上此端口上接收多播数据报的唯一进程(因此reuseAddr: true)。

当我这样做时,每个多播数据报的消息事件都会触及这台机器上的接口,而不仅仅是这个进程订阅的那个。不是问题 - 只要我可以过滤掉我不关心的数据报。

不幸的是,我不知道发送我关心的数据包的实际主机,我只知道多播组。因此,如果我查看remote,我会得到类似的内容:

{ address: '10.10.11.6', family: 'IPv4', port: 5004, size: 84 }

哪个不告诉我数据报发送到哪个组播组。有效载荷本身在解码后也没有给我任何线索。

有什么方法可以过滤我关心的多播组吗?

0 个答案:

没有答案