错误:监听EADDRINUSE:地址已在使用::: 3000

时间:2020-10-28 15:53:19

标签: javascript server mangodb

大家好,我是新来的,试图按照Udemy上的有关将Node应用程序连接到数据库的课程,但是遇到问题无法使用mangodb数据库正确运行服务器。代码在最后。

错误

Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (net.js:1317:16)
    at listenInCluster (net.js:1365:12)
    at Server.listen (net.js:1451:7)
    at Function.listen (C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\express\lib\application.js:618:24)
    at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\server.js:10:5
    at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\utils.js:674:5
    at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\mongo_client.js:225:7
    at connectCallback (C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\operations\connect.js:366:5)
    at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\operations\connect.js:602:5
    at connectHandler (C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\core\sdam\topology.js:297:43)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1344:8)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  code: 'EADDRINUSE',
  errno: -4091,
  syscall: 'listen',
  address: '::',
  port: 3000
}

代码第1部分(https://prnt.sc/v8rnqm) 代码第2部分(https://prnt.sc/v8rofm

谢谢你们。

1 个答案:

答案 0 :(得分:1)

在第10行,您已经呼叫app.listen(3000) 然后(再次在屏幕底部隐藏行)在您再次调用app.listen(3000)的文件的底部。这就是原因,仅将其保留在第10行。如果您多次需要此实例,请考虑将其分配给一个常量。例如:

const socket_id = app.listen(3000)