Heim > Artikel > Web-Frontend > Warum erhalte ich beim Ausführen eines Node.JS-Servers die Fehlermeldung „Fehler: listen EADDRINUSE'?
Problemübersicht:
Beim Versuch, einen Server am Port auszuführen 80 Beim Durchführen einer Anfrage mit XMLHttpRequest kann in Node.JS der Fehler „Fehler: listen EADDRINUSE“ auftreten. Dieser Fehler weist darauf hin, dass der Server keine Verbindung zum angegebenen Port herstellen kann, da er bereits von einem anderen Prozess verwendet wird.
Warum es ein Problem ist:
Node.JS erfordert Exklusivität Verwendung des Ports, an den es bindet, wodurch verhindert wird, dass Anfragen gestellt werden, während der Server läuft. Browser können eine Verbindung zum Server herstellen und Anfragen stellen, da sie kurzlebige Ports verwenden.
Serverimplementierung:
net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('connection request from: ' + socket.remoteAddress); socket.destroy(); }).listen(options.port);
Anfragecode:
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();
Lösung:
Um dieses Problem zu beheben, muss sichergestellt werden, dass kein anderer Prozess an Port 80 bindet. Dies kann erreicht werden, indem der fehlerhafte Prozess beendet wird Verwenden Sie den folgenden Befehl:
killall -9 node
Achtung: Dieser Befehl beendet alle laufenden Node.JS-Prozesse. Verwenden Sie ihn daher mit Vorsicht.
Beendigung überprüfen :
Um zu überprüfen, ob der Prozess beendet wurde, führen Sie den folgenden Befehl aus:
ps ax
Wenn keine Node.JS-Prozesse aufgeführt sind, sollte das Problem behoben sein.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Ausführen eines Node.JS-Servers die Fehlermeldung „Fehler: listen EADDRINUSE'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!