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 に別のポートを使用することを検討できます。
追加のトラブルシューティング手順:
以上がNode.js サーバーを実行して XMLHttpRequest を作成すると、「エラー: listen EADDRINUSE」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。