将一个端口上的数据复制到其他端口

时间:2016-02-23 22:22:23

标签: node.js windows networking udp

在单个端口上接收UDP(单播)数据。我有一个需要监听这些数据的程序(闭源工具,不是由我创建的)。需要运行此工具的多个实例,并将相同的数据输入所有实例。我只能在任何时候有一个工具实例监听单个端口。

如何将此端口上接收的数据复制到一组唯一端口,以便我可以使用该工具的多个实例?

我还没有找到解决方案来尝试报告我的问题。解决方案可能是NodeJS重新广播数据或可能在操作系统级别上执行的解决方案。甚至可能是路由器级别的portforwarding?

1 个答案:

答案 0 :(得分:0)

我通过创建一个NodeJS服务器来监听UDP端口,然后将数据重新发送到我想要的端口来解决这个问题。

var portMappings = [5000,5001,5002];
server.on('message', function(msg,rinfo){

    for(var i = 0; i < portMappings.length; i++)
    {
        server.send(msg,0,msg.length,portMappings[i],"127.0.0.1");
    }

});

警告:如果您使用&#39; localhost&#39;对于像我最初那样的IP目的地,CPU负载变得庞大。切换到&#39; 127.0.0.1&#39;后,我没有遇到此问题。