gpt4 book ai didi

node.js - NodeJS - 错误 : listen EADDRNOTAVAIL: address not available

转载 作者:行者123 更新时间:2023-12-03 12:13:26 26 4
gpt4 key购买 nike

我正在运行一个应该托管在本地服务器上的 Node 应用程序。
目前,我只发送一个明文响应。

const http = require('http');

var server = http.createServer(function(req, res) {
res.writeHead(200, {ContentType: 'text/plain'});
res.end("test");
});

当我收听本地主机时,一切正常,我可以从浏览器发送请求。
server.listen(3000, '127.0.0.1'); // works fine, on the same machine

但是,如果我尝试通过键入路由器的 IP 来监听 LAN 网络上的端口,则会收到错误消息。
server.listen(3000, '192.168.0.1'); // causes an error
Error: listen EADDRNOTAVAIL: address not available 192.168.0.1:3
000
at Server.setupListenHandle [as _listen2] (net.js:1253:19)
at listenInCluster (net.js:1318:12)
at doListen (net.js:1451:7)
at process._tickCallback (internal/process/next_tick.js:63:1
9)
at Function.Module.runMain (internal/modules/cjs/loader.js:7
57:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Emitted 'error' event at:
at emitErrorNT (net.js:1297:8)
at process._tickCallback (internal/process/next_tick.js:63:1
9)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

我用我的公共(public) IP 地址尝试了这个,但没有成功。
有什么方法可以监听 LAN 服务器上的端口,以便我可以从网络上的任何计算机发送请求?

另外,我以后希望我的应用程序可以在任何 LAN 网络上的任何计算机上运行。如何动态添加我的主机?

最佳答案

试试这个
server.listen(3000, '0.0.0.0');
您可以从其他机器访问您的 Node 应用程序

例如

你的 lan ip 是 192.168.0.101 然后你可以从其他机器浏览 192.168.0.101:3000

关于node.js - NodeJS - 错误 : listen EADDRNOTAVAIL: address not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61086835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com