Javascript &引用;Node.js正在运行;第二章。演示应用程序错误“;引发错误:错误:侦听EACCES“;

Javascript &引用;Node.js正在运行;第二章。演示应用程序错误“;引发错误:错误:侦听EACCES“;,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我使用的是LinuxMint14 我已经创建了“Node.js in action”第2章中描述的聊天室应用程序。然而 chatServer.listen(server); 在server.js中,会导致以下错误: nodejs server.js info - socket.io started warn - error raised: Error: listen EACCES events.js:72 throw er; // Unhandled 'error' ev

我使用的是LinuxMint14

我已经创建了“Node.js in action”第2章中描述的聊天室应用程序。然而

chatServer.listen(server);
在server.js中,会导致以下错误:

nodejs server.js
 info  - socket.io started
 warn  - error raised: Error: listen EACCES

events.js:72
      throw er; // Unhandled 'error' event
          ^
Error: listen EADDRINUSE
  at errnoException (net.js:904:11)
  at Server._listen2 (net.js:1042:14)
  at listen (net.js:1064:10)
  at Server.listen (net.js:1138:5)
  at Object.<anonymous> (/home/andrew/Google   Drive/AJRComp/Src/JavaScript/Node.js/NodejsInAction/chatrooms/server.js:55:8)
  at Module._compile (module.js:456:26)
  at Object.Module._extensions..js (module.js:474:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Function.Module.runMain (module.js:497:10)
nodejs server.js
信息-socket.io已启动
警告-引发错误:错误:侦听EACCES
events.js:72
投掷者;//未处理的“错误”事件
^
错误:请使用侦听器
在errnoException(net.js:904:11)
在服务器上。\u listen2(net.js:1042:14)
听(net.js:1064:10)
在Server.listen(net.js:1138:5)
反对。(/home/andrew/googledrive/AJRComp/Src/JavaScript/Node.js/NodejsInAction/chattrooms/server.js:55:8)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Function.Module.runMain(Module.js:497:10)
在谷歌上搜索这个问题3月18日也有同样的问题,但它只出现在谷歌搜索中,我在stackoverflow网站上找不到它(可能已经被删除了)

我发现使用socket.io处理此错误的唯一解决方案是,如果端口号小于1024,则必须以root身份运行,但我正在监听3000

使用nmap localhost,端口3001报告为打开状态,并由nessus服务使用。但我似乎没有安装Nessus。那么是否存在某种端口保护阻止我的应用程序在该端口上侦听

提前谢谢

Error: listen EADDRINUSE
这意味着错误地址已在使用中。在您想要使用nodejs服务器的同一端口上运行着其他东西

lsof -i:<port>
lsof-i:

将向您提供有关在端口上运行的进程的信息。

我终于找到了这个问题(在Cloud9上,我没有返回并在localhost上尝试)。我曾经

检查是否使用了该端口,然后

$ fuser -k 3000/tcp
结束这一进程


(顺便说一句,我必须将jquery文件更新为最新版本,以使聊天应用程序真正工作)。

既然您正在使用EADDRINUSE,这可能会有所帮助
$ fuser -k 3000/tcp