6

次のコードは、windows の node.js で例外を生成します。

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

socket = new Socket();
socket.connect(80, "localhost");

メッセージは次のとおりです。

    events.js:2083: Uncaught Error: getHostByName ENOTFOUND

を削除するlocalhostと、正常に動作します。何が原因でしょうか? ファイアウォールをオフにしてみましたが、効果がありませんでした。

4

3 に答える 3

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 を使用する必要があります。

于 2011-08-10T12:17:12.407 に答える
4

私の場合、Microsoft Loopback Adapter を追加すると、この問題が修正されました。

  1. [スタート] メニューのオーブをクリックします。検索ボックスに hdwwiz と入力し、hdwwize.exe プログラム リンクをクリックします。
  2. これで、ハードウェアの追加ウィザードが開きます。
  3. リストを下にスクロールして [ネットワーク アダプタ] を選択し、[次へ] をクリックします。
  4. 次のウィンドウが読み込まれるまでしばらく待ってから、[Microsoft] をクリックし、[Microsoft Loopback Adapter] を選択します。

から: http://www.groovypost.com/howto/microsoft/install-a-loopback-adapter-in-windows-7/

于 2016-06-09T06:11:20.280 に答える
-2

オプション 1: Windows を使用しないでください ;)

オプション 2: C:\WINDOWS\system32\drivers\etc\hosts 内

追加 :

 127.0.0.1       localhost
于 2011-08-09T15:26:10.180 に答える