Javascript 为什么我不能从任何网络连接到NodeJS express服务器?

Javascript 为什么我不能从任何网络连接到NodeJS express服务器?,javascript,node.js,express,networking,ip,Javascript,Node.js,Express,Networking,Ip,假设我有一个web服务器在端口3001上运行,我的ip是23.512.531.56(顺便说一句,不是实际的ip地址),如果我输入chrome23.512.531.56:3001,我会进入另一个网络,比如我的邻居或其他什么,为什么我不能从服务器获得响应?这是我的nodeJS代码 //"Imports" libraries reqired. const express = require("express"); const fs = require(&quo

假设我有一个web服务器在端口3001上运行,我的ip是23.512.531.56(顺便说一句,不是实际的ip地址),如果我输入chrome
23.512.531.56:3001,我会进入另一个网络,比如我的邻居或其他什么,为什么我不能从服务器获得响应?这是我的nodeJS代码

//"Imports" libraries reqired.

const express = require("express");
const fs = require("fs");

//Starts express

const svr = express();

//Main

svr.get("/", (req, res)=>{
    fs.createReadStream("./html/index.html").pipe(res);
});

svr.get("/image0.png", (req, res) => {
    fs.createReadStream("./html/image0.png").pipe(res);
});

//Sets port to host on

svr.listen(3001);

您必须向外打开端口3001并绑定到本地计算机(端口转发)。看看你的路由器!如果不是固定IP,请使用DynDNS服务。

您需要在同一网络中。例如,如果您使用不同的wifi(来自邻居),则无法访问本地NodeJs服务器。如果设备位于同一默认网关下,则可以访问服务器

如果要从任何网络访问它,可能需要将其部署到全局网络


需要补充的一点是,即使用于说明,也不要使用不正确的IP地址

您必须向外部打开端口3001并绑定到本地计算机(端口转发)。看看你的路由器!如果不是固定IP,请使用DynDNS服务。当然可以。23.512.531.56是公共IP,不是本地的,如果是,则邻居也必须在同一网络中。