nodejs无法解析Windows上的"localhost"

Coe*_*oen 6 sockets windows localhost gethostbyname node.js

以下代码在windows下的node.js中生成异常:

var Socket = require("net").Socket;

socket = new Socket();
socket.connect(80, "localhost");
Run Code Online (Sandbox Code Playgroud)

这是消息:

    events.js:2083: Uncaught Error: getHostByName ENOTFOUND
Run Code Online (Sandbox Code Playgroud)

当我删除localhost,它工作正常.可能是什么导致了这个?我尝试关闭防火墙,但没有效果.

npo*_*cop 9

node.js使用c-ares解析器并完全忽略系统解析器.所以关于C:\ WINDOWS\system32\drivers\etc\hosts的建议可能无关紧要.

c-ares库读取某些系统配置文件 - 例如在Windows和Cygwin上它读取/etc/resolv.conf.所以你应该检查它是否读取/ etc/hosts或C:\ WINDOWS\system32\drivers\etc\hosts.如果它没有并且没有对localhost的内置支持 - 那么你将不得不使用127.0.0.1