小编Jur*_*lav的帖子

Node.js 服务器在 0.0.0.0 和 localhost 上监听同一个端口,没有错误

我偶然发现了一些有趣的东西,我无法解释它,谷歌搜索也没有成效。

我有一台 Express 服务器,即服务器 1,绑定到localhost

const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('server 1'))
app.listen(4000, 'localhost')
Run Code Online (Sandbox Code Playgroud)
node      37624 user   27u  IPv4 0x681653f502970305      0t0  TCP localhost:4000 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

我有另一个 Express 服务器,即服务器 2,绑定到以下所有接口0.0.0.0

node      37624 user   27u  IPv4 0x681653f502970305      0t0  TCP localhost:4000 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
node      37624 user   27u  IPv4 0x681653f502970305      0t0  TCP localhost:4000 (LISTEN)
node      37693 user   25u  IPv4 0x681653f4fdbdc005      0t0  TCP *:4000 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

Curling0.0.0.0给出了来自服务器 1 的响应,服务器 1 绑定到localhost,因此显然这两个是冲突的。

然而,不知何故,这并没有引发人们预期的错误,EADDRINUSE,这怎么可能?

network-programming node.js express

3
推荐指数
1
解决办法
2088
查看次数

标签 统计

express ×1

network-programming ×1

node.js ×1