首页 >web前端 >js教程 >为什么在运行 Node.js 服务器并发出 XMLHttpRequest 时收到'错误:监听 EADDRINUSE”?

为什么在运行 Node.js 服务器并发出 XMLHttpRequest 时收到'错误:监听 EADDRINUSE”?

Barbara Streisand
Barbara Streisand原创
2024-11-28 06:51:11627浏览

Why am I getting

解决 Node.JS 中的“错误:监听 EADDRINUSE”

当尝试同时在端口 80 上运行服务器并启动 XMLHttpRequest 时,您可能会遇到错误“错误:监听 EADDRINUSE”。当您的本地系统尝试将同一端口分配给多个应用程序并导致冲突时,就会出现此问题。

在提供的服务器脚本中:

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

问题在于服务器在端口 80 上侦听,而 XMLHttpRequest 尝试访问同一端口。要解决冲突,您可以考虑为服务器或 XMLHttpRequest 使用不同的端口。

其他故障排除步骤:

  • 确保没有其他应用程序已在侦听端口 80。
  • 重新启动 Node.JS 和您的网络浏览器。
  • 检查您的防火墙设置,确保它们没有阻止端口。
  • 如有必要,请使用killall -9 node 强制终止任何 Node.JS 进程。但请注意,应谨慎使用,因为它还可能杀死其他系统进程。

以上是为什么在运行 Node.js 服务器并发出 XMLHttpRequest 时收到'错误:监听 EADDRINUSE”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn