Heim > Artikel > Web-Frontend > Warum gibt Node.js bei Verwendung von XMLHttpRequest „Fehler: listen EADDRINUSE' aus?
Adressierungsfehler: EADDRINUSE in Node.js abhören
Das Problem „Fehler: EADDRINUSE abhören“ tritt auf, wenn Node.js auf einen Versuch stößt Hören Sie auf einem bereits belegten Port. Node.js ist eine Laufzeitumgebung zum Ausführen von JavaScript-Anwendungen.
Im bereitgestellten Szenario lauscht ein Server auf Port 80 und versucht gleichzeitig, XMLHttpRequest für eine Anfrage zu verwenden. Browser können gleichzeitige Verbindungen verarbeiten, aber der Node.js-Server hat aufgrund der Nichtverfügbarkeit des Ports ein Problem.
Der Servercode, wie erwähnt:
net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('connection request from: ' + socket.remoteAddress); socket.destroy(); }).listen(options.port);
Der Server wartet im Wesentlichen auf eingehende Verbindungen Verbindungen, zerstört sie aber sofort. Dies verhindert, dass tatsächliche Anfragen verarbeitet werden.
Der Anfragecode, wie bereitgestellt:
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();
Die Anfrage versucht, eine HTTP-GET-Anfrage an eine Remote-Website zu stellen, während Node.js Der Server läuft auf Port 80.
Um den „Fehler: listen EADDRINUSE“ zu beheben, sollte der Server Entweder:
Das obige ist der detaillierte Inhalt vonWarum gibt Node.js bei Verwendung von XMLHttpRequest „Fehler: listen EADDRINUSE' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!