以下代码在windows:
下的node.js中产生异常var Socket = require("net").Socket;
socket = new Socket();
socket.connect(80, "localhost");
这是消息:
events.js:2083: Uncaught Error: getHostByName ENOTFOUND
当我删除localhost
时,它可以正常工作。可能是什么导致了这个?
我试过关闭防火墙,但没效果。
答案 0 :(得分:8)
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
答案 1 :(得分:4)
在我的情况下,添加Microsoft Loopback Adapter解决了这个问题。
来自:http://www.groovypost.com/howto/microsoft/install-a-loopback-adapter-in-windows-7/
答案 2 :(得分:-1)
选项1:不要'使用窗口;)
选项2: 在C:\ WINDOWS \ system32 \ drivers \ etc \ hosts
中添加:
127.0.0.1 localhost