我在MacOS High Sierra上启动了一个简单的快递服务器。 localhost:3000
和127.0.0.1:3000
工作正常。但是,当我从另一台计算机通过http://192.168.x.x:3000
访问服务器时,没有得到任何响应(ERR_EMPTY_RESPONSE
)。
我在另一台MacBook(MacOS Sierra)和Windows计算机上测试了服务器,一切正常。
所以我想MacOS High Sierra出了点问题。
任何帮助都将受到欢迎。预先感谢。
这里是code
:
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(3000, () => console.log('Example app listening on port 3000!'))
答案 0 :(得分:0)
更新MacOS
我尝试重新安装节点npm,更改共享设置,但是它们都不起作用。
最后,我更新了MacOS(10.13.4
-> 10.13.5
),现在其他计算机可以像超级按钮一样访问我的服务器。
----------更新-------------
几天(快乐)后,问题再次出现。
幸运的是,现在我很确定ESET EndPoint Security是问题所在,因为它是我安装的最后一个应用程序。 因此,我打开ESET防火墙并创建一个新规则,该规则允许本地网络地址通过TCP&UDP连接。 服务器再次像魅力一样工作。
希望这对其他人有帮助。
答案 1 :(得分:-1)
请参阅https://nodejs.org/en/docs/guides/getting-started-guide/
安装完Node后,让我们尝试构建第一个Web服务器。创建一个名为“ app.js”的文件,并粘贴以下代码:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
然后,使用节点app.js运行Web服务器,访问http://localhost:3000,您将看到一条消息“ Hello World”