首页  >  文章  >  web前端  >  为什么我在运行 Node.JS 服务器时收到'错误:listen EADDRINUSE”?

为什么我在运行 Node.JS 服务器时收到'错误:listen EADDRINUSE”?

Susan Sarandon
Susan Sarandon原创
2024-11-19 13:03:03269浏览

Why Am I Getting the

使用 Node.JS 时修复错误:EADDRINUSE

问题概述:

尝试在端口上运行服务器时80 使用 XMLHttpRequest 执行请求时,可能会出现错误“Error:listen EADDRINUSE” Node.JS。此错误表明服务器无法绑定到指定端口,因为另一个进程已在使用该端口。

问题原因:

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

解决方案:

要解决此问题,需要确保没有其他进程绑定到端口 80。这可以通过使用以下命令杀死有问题的进程来实现命令:

killall -9 node

注意:此命令将终止所有正在运行的 Node.JS 进程,因此请谨慎使用。

验证终止:

要验证进程是否已终止,请运行以下命令命令:

ps ax

如果没有列出 Node.JS 进程,则问题应该得到解决。

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

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