解决 Node.js 中的错误:监听 EADDRINUSE
当 Node.js 遇到尝试时,会出现“错误:监听 EADDRINUSE”问题侦听已占用的端口。 Node.js 是用于执行 JavaScript 应用程序的运行时环境。
在提供的场景中,服务器正在侦听端口 80,同时尝试使用 XMLHttpRequest 进行请求。浏览器可以处理并发连接,但 Node.js 服务器由于端口不可用而面临问题。
服务器代码,如前所述:
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();
该请求正在尝试向远程网站发出 HTTP GET 请求,而 Node.js服务器正在端口 80 上运行。
要解决“错误:监听 EADDRINUSE”,服务器应该任一:
以上是为什么 Node.js 使用 XMLHttpRequest 时会抛出'Error: Listen EADDRINUSE”?的详细内容。更多信息请关注PHP中文网其他相关文章!