通过端口转发将udp服务器绑定到外部ip

时间:2017-08-17 09:29:22

标签: node.js sockets udp remote-access lan

端口转发完成后,是否可以将udp套接字连接到外部ip?

var PORT = 33333;
var HOST = 'xxx.xx.xxx.xxx'; // my external ip

var dgram = require('dgram');
var server = dgram.createSocket('udp4');

server.on('listening', function () {
    var address = server.address();
    console.log('UDP Server listening on ' + address.address + ":" + 
address.port);
});

server.on('message', function (message, remote) {
    console.log(remote.address + ':' + remote.port +' - ' + 
message);

});

server.bind(PORT, HOST);

端口转发已设置(如下)

any source forwards to 127.0.0.1:33333

我得到了EADDRNOTAVAIL'错误

Error: bind EADDRNOTAVAIL xxx.xx.xxx.xxx:33333

这甚至可能吗?如果没有,我有什么选择收听远程IP地址?

感谢 阿萨夫

2 个答案:

答案 0 :(得分:0)

您可以使用var HOST = '0.0.0.0';在主机外连接吗?

答案 1 :(得分:0)

您无法绑定到非本地地址,也不需要。只需绑定到0.0.0.0。端口转发将完成其余的工作。