nodejs http模块server.listen(),如果我们不定义端口号,默认端口是什么

时间:2019-06-26 15:04:10

标签: node.js

server.listen(port, hostname, backlog, callback);

这些参数都是可选的。所以我只打电话

server.listen()

服务器似乎已启动并正在运行。

但是http://127.0.0.1/http://127.0.0.1:80显示“无法访问此站点”

我的问题是,如果端口号和主机名是可选的,默认的主机名和端口号是什么?

谢谢!

3 个答案:

答案 0 :(得分:2)

根据文档

  

如果端口被省略或为0,则操作系统将分配任意未使用的端口,可以在发出“侦听”事件后使用server.address()。port进行检索。

https://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback

答案 1 :(得分:0)

互联网名称与数字地址分配机构(ICANN)使用低于1024的端口号来实现标准服务。例如HTTP服务器侦听端口80。您可以在此处查看知名端口的列表:

https://www.webopedia.com/quick_ref/portnumbers.asp

使用1024到49151之间的端口号。这些是注册的端口,被视为默认端口号。

如果http://127.0.0.1/不起作用,则很可能使用Windows。在命令行中运行以下代码

netsh http add iplisten 127.0.0.1

答案 2 :(得分:0)

根据Reetesh Kumar和Venkat smart的回答。以下代码将启动服务器并回显端口号。

const http = require('http');

const server = http.createServer((req, res) => {
    res.end('Hello World!!!');
});
server.listen();
console.log(server.address().port);