通过端口转发将udp服务器绑定到外部IP [英] bind udp server to external ip via port forwarding

查看:104
本文介绍了通过端口转发将udp服务器绑定到外部IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Is it possible to connect a udp socket to an external ip after port forwarding is done?

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);

端口转发已设置(如下)

port forwarding already set up (below)

我收到"EADDRNOTAVAIL"错误

I'm getting 'EADDRNOTAVAIL' error

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

这甚至有可能吗?如果没有,我该如何选择监听远程IP地址?

Is this even possible? and if not, what are my options for listening in to remote ip addresses?

谢谢阿萨夫

推荐答案

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

You can't bind to a non-local address, and you don't need to. Just bind to 0.0.0.0. The port forwarding will do the rest.

这篇关于通过端口转发将udp服务器绑定到外部IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆