Problembeschreibung:
Beim Versuch, einen Server auf Port 80 auszuführen und Wenn Sie gleichzeitig eine XMLHttpRequest-Anfrage stellen, wird der Fehler „Fehler: Listen EADDRINUSE“ angezeigt. Dies gilt, obwohl Browser weiterhin im Internet surfen können, während der Server läuft.
Server-Implementierung:
net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('connection request from: ' + socket.remoteAddress); socket.destroy(); }).listen(options.port);
Implementierung anfordern:
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, denken Sie darüber nach Beenden des NodeJS-Prozesses mit:
killall -9 node
Beachten Sie, dass dieser Befehl einen Systemprozess abrupt beendet. Um die Beendigung zu überprüfen, führen Sie Folgendes aus:
ps ax
Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Fehler: listen EADDRINUSE', wenn ich einen NodeJS-Server ausführe und eine XMLHttpRequest erstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!