ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js サーバーを実行して XMLHttpRequest を作成すると、「エラー: listen EADDRINUSE」が発生するのはなぜですか?

Node.js サーバーを実行して XMLHttpRequest を作成すると、「エラー: listen EADDRINUSE」が発生するのはなぜですか?

Barbara Streisand
リリース: 2024-11-28 06:51:11
オリジナル
572 人が閲覧しました

Why am I getting

Node.JS の「エラー: listen EADDRINUSE」のトラブルシューティング

ポート 80 でサーバーを実行し、同時に XMLHttpRequest を開始しようとすると、 「エラー: EADDRINUSE をリッスンしてください。」というエラーが発生する場合があります。この問題は、ローカル システムが同じポートを複数のアプリケーションに割り当てようとしたときに発生し、競合が発生します。

提供されたサーバー スクリプト内:

net.createServer(function (socket) {
    socket.name = socket.remoteAddress + ":"+ socket.remotePort;
    console.log('connection request from: ' + socket.remoteAddress);
    socket.destroy();
  }).listen(options.port);
ログイン後にコピー

およびリクエスト:

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
    sys.puts("State: " + this.readyState);

    if (this.readyState == 4) {
        sys.puts("Complete.\nBody length: " + this.responseText.length);
        sys.puts("Body:\n" + this.responseText);
    }
};

xhr.open("GET", "http://mywebsite.com");
xhr.send();
ログイン後にコピー

問題は、XMLHttpRequest が同じポートにアクセスしようとしているときに、ポート 80 でリッスンしているサーバーにあります。競合を解決するには、サーバーまたは XMLHttpRequest に別のポートを使用することを検討できます。

追加のトラブルシューティング手順:

  • 他のアプリケーションが存在しないことを確認します。はすでにポート 80 でリッスンしています。
  • Node.JS と Web を再起動します
  • ファイアウォールの設定をチェックして、ポートがブロックされていないことを確認してください。
  • 必要に応じて、killall -9 ノードを使用して Node.JS プロセスを強制的に終了します。ただし、他のシステム プロセスも強制終了する可能性があるため、これは注意して使用する必要があることに注意してください。

以上がNode.js サーバーを実行して XMLHttpRequest を作成すると、「エラー: listen EADDRINUSE」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート