尝试让最简单的节点服务器与浏览器进行交互,其中包括:
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地址。我在这里错过了什么吗?
答案 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)
使用以下三个步骤:
netstat -aon
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);
在节点终端上:节点filename.js
保持打开状态,请勿按住CTRL + C。
转到网页: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连接。