Windows Node.js EADDRNOTAVAIL可以';t通过外部IP进行访问

Windows Node.js EADDRNOTAVAIL可以';t通过外部IP进行访问,windows,node.js,Windows,Node.js,错误:收听EADDRNOTAVAIL 人们说这个错误意味着我试图监听一个我不拥有的IP地址。但根据谷歌的说法,这是我的外部IP地址 另外,如果我省略我的IP,它只在我访问localhost:5000和127.0.0.1:5000时起作用,访问75.113.126.31:5000不起作用,即使人们说当我没有给出第二个参数来侦听时,节点也应该侦听。我还尝试了在IP0.0.0上监听,但没有通过外部IP访问 可能的原因是什么?我禁用了Windows防火墙,但没有任何帮助。您收到的错误消息是正确的。我假设

错误:收听EADDRNOTAVAIL

人们说这个错误意味着我试图监听一个我不拥有的IP地址。但根据谷歌的说法,这是我的外部IP地址

另外,如果我省略我的IP,它只在我访问
localhost:5000
127.0.0.1:5000
时起作用,访问
75.113.126.31:5000
不起作用,即使人们说当我没有给出第二个参数来侦听时,节点也应该侦听。我还尝试了在IP
0.0.0
上监听,但没有通过外部IP访问


可能的原因是什么?我禁用了Windows防火墙,但没有任何帮助。

您收到的错误消息是正确的。我假设你在路由器后面的电脑上。谷歌报告的ip地址是分配给你的路由器的ip地址,而不是你的计算机,也就是说,你的计算机不拥有它。你可以通过在cmd提示符下运行ipconfig命令来证明这一点,找到你的eth/wifi ip地址,并在你的应用程序中使用它。listen(可能从192或10开始),它应该可以工作。如果你想公开你的应用程序,一个更简单的方法可能是从路由器转发端口5000到运行节点应用程序的计算机。希望这有帮助

您的外部IP和计算机的网络地址通常几乎没有共同之处。事实上,如果他们真的匹配,那将是非常不寻常的

如果您希望远程提供服务,通常会绑定到
0.0.0

还值得注意的是,如果您有某种路由器或防火墙,则需要配置端口映射以使端口5000正确路由到本地IP

ipconfig
应该显示您的实际IP地址

您还应该知道,某些路由器不处理将内部流量映射回本地IP的操作。很多人这样做,所以这并不总是一个问题,但如果它不起作用,可能就是这样

app = require('http').createServer()
app.listen(5000, '75.113.126.31')