Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nodejs无法在windows上解析“localhost”_Windows_Sockets_Node.js_Localhost_Gethostbyname - Fatal编程技术网

nodejs无法在windows上解析“localhost”

nodejs无法在windows上解析“localhost”,windows,sockets,node.js,localhost,gethostbyname,Windows,Sockets,Node.js,Localhost,Gethostbyname,以下代码在windows下的node.js中生成异常: var Socket = require("net").Socket; socket = new Socket(); socket.connect(80, "localhost"); 以下是信息: events.js:2083: Uncaught Error: getHostByName ENOTFOUND 当我删除localhost时,它可以正常工作。这可能是什么原因造成的? 我尝试关闭防火墙,但没有效果。选项1:不要使用w

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

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

socket = new Socket();
socket.connect(80, "localhost");
以下是信息:

    events.js:2083: Uncaught Error: getHostByName ENOTFOUND
当我删除localhost时,它可以正常工作。这可能是什么原因造成的?
我尝试关闭防火墙,但没有效果。

选项1:不要使用windows

备选案文2: 在C:\WINDOWS\system32\drivers\etc\hosts中

加:


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。如果它没有并且没有本地主机的内置支持,那么您必须使用127.0.0.1,在我的例子中,添加Microsoft环回适配器修复了这个问题

单击开始菜单球体。在搜索框中键入hdwwiz,然后单击hdwwize.exe程序链接。 现在,添加硬件向导应该打开了。 向下滚动列表并选择网络适配器,然后单击下一步。 给下一个窗口一点时间加载,然后单击Microsoft并选择Microsoft环回适配器。
From:

既然Cygwin不再用于Windows上的Node.js,情况仍然如此吗?事实并非如此,但这是因为与Cygwin无关的设计更改:请参阅。基本上,net.connect已更改为使用系统解析器而不是c-ares。的可能重复项
 127.0.0.1       localhost