Heim >Web-Frontend >js-Tutorial >Warum erhalte ich „Fehler: Listen EADDRINUSE', wenn ich meinen Node.js-Server betreibe und eine XMLHttpRequest erstelle?

Warum erhalte ich „Fehler: Listen EADDRINUSE', wenn ich meinen Node.js-Server betreibe und eine XMLHttpRequest erstelle?

Barbara Streisand
Barbara StreisandOriginal
2024-11-28 06:51:11616Durchsuche

Why am I getting

Fehlerbehebung „Fehler: Listen EADDRINUSE“ in Node.JS

Beim Versuch, gleichzeitig einen Server auf Port 80 auszuführen und eine XMLHttpRequest zu initiieren, Möglicherweise tritt die Fehlermeldung „Fehler: Listen EADDRINUSE“ auf. Dieses Problem tritt auf, wenn Ihr lokales System versucht, denselben Port mehreren Anwendungen zuzuweisen, was zu einem Konflikt führt.

Im bereitgestellten Serverskript:

net.createServer(function (socket) {
    socket.name = socket.remoteAddress + ":"+ socket.remotePort;
    console.log('connection request from: ' + socket.remoteAddress);
    socket.destroy();
  }).listen(options.port);

und der Anfrage:

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();

Das Problem liegt darin, dass der Server Port 80 überwacht, während XMLHttpRequest versucht, auf denselben Port zuzugreifen. Um die Kollision zu beheben, können Sie erwägen, einen anderen Port für Ihren Server oder für XMLHttpRequest zu verwenden.

Zusätzliche Schritte zur Fehlerbehebung:

  • Stellen Sie sicher, dass keine anderen Anwendungen vorhanden sind lauschen bereits auf Port 80.
  • Starten Sie Node.JS und Ihr Web neu Browser.
  • Überprüfen Sie Ihre Firewall-Einstellungen, um sicherzustellen, dass sie den Port nicht blockieren.
  • Beenden Sie gegebenenfalls alle Node.JS-Prozesse mit killall -9 node. Beachten Sie jedoch, dass dies mit Vorsicht verwendet werden sollte, da es auch andere Systemprozesse töten kann.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Fehler: Listen EADDRINUSE', wenn ich meinen Node.js-Server betreibe und eine XMLHttpRequest erstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn