节点服务器正在运行但localhost拒绝连接

时间:2017-02-16 20:06:55

标签: javascript node.js

尝试让最简单的节点服务器与浏览器进行交互,其中包括:

var http = require('http');


http.createServer(function(req, res){

  res.writeHead( 200, { "content-Type" : 'text/plain' } )
  res.send('Hello world');

}).listen(1337, '192.168.1.2');

但是localhost不会这样做..

localhost refused to connect

这是IPv4地址。我在这里错过了什么吗?

7 个答案:

答案 0 :(得分:2)

使用0.0.0.0,它将同时适用于'192.168.1.2'和localhost。

答案 1 :(得分:1)

我认为您只有一个拼写错误,请使用res.end发送数据并关闭连接而不是res.send

此外,连接到localhost

也不会有任何问题
var http = require('http');


http.createServer(function(req, res){

  res.writeHead( 200, { "content-Type" : 'text/plain' } )
  res.end('Hello world');

}).listen(1337, 'localhost');

答案 2 :(得分:1)

使用以下三个步骤:

  1. 在命令提示符下键入netstat -aon
  2. 找到相对PID号为127.0.0.1:8080(或3000)
  3. 运行taskkill /f /pid pidnumber

答案 3 :(得分:1)

遇到了同样的问题,并按以下方式解决了它:

var http = require('http');

http.createServer(function(req, res){

  res.writeHead( 200, { "content-Type" : 'text/plain' } )
  res.end('Hello world');

}).listen(1337);
  1. 在节点终端上:节点filename.js

    保持打开状态,请勿按住CTRL + C。

  2. 转到网页:localhost:1337

应该可以。问题是不关闭终端或退出节点文件的执行。

答案 4 :(得分:0)

如果您想使用localhost进行连接,则必须在listen上使用“localhost”。

答案 5 :(得分:0)

您必须删除您在端口号后添加的IP地址。您的localhost已经分配了IP地址。

答案 6 :(得分:0)

我怀疑您使用的是Mac。首先要将192.168.1.2更改为127.0.0.1,或者如果您希望可以从其他计算机访问0.0.0.0

下一步浏览到http://127.0.0.1:1337/ http://localhost:1337/。无论出于何种原因,localhost都会解析为::1-Mac上的IPv6地址。由于某种原因,Node立即断开了我计算机上的所有IPv6连接。