错误:收听EADDRINUSE:地址已在使用::: 3000 .....我收到此错误,请告诉我解决方案

问题描述

//code const express = require('express') const app = express() const server = require('http').Server(app) const io = require('socket.io')(server) const { v4: uuidv4 } = require('uuid')

app.set('view engine','ejs') app.use(express.static('public'))

app.get('/',(req,res) =>{ res.redirect(/${uuidv4()}) })

app.get('/:room',res) =>{ res.render('room',{roomId: req.params.room }) })

io.on('connection',socket =>{ socket.on('join room',(roomId,userId) =>{ console.log(roomId,userId) }) })

server.listen(3000)

//错误

[nodemon] 2.0.4 [nodemon]随时重新启动,输入rs [nodemon] 观看路径:。 [nodemon]看扩展:js,mjs,json [nodemon]启动节点server.js events.js:292 throw er; //未处理 “错误”事件^

错误:监听EADDRINUSE:地址已在使用::: 3000 Server.setupListenHandle [作为_listen2](net.js:1313:16)位于 在Server.listen(net.js:1447:7)处的listenInCluster(net.js:1361:12) 目的。 (I:\卷E \ zoom-clone \ server.js:25:8)在Module._compile (internal / modules / cjs / loader.js:1138:30)在 Object.Module._extensions..js(内部/模块/cjs/loader.js:1158:10) 在Module.load(internal / modules / cjs / loader.js:986:32)在 Function.Module._load(internal / modules / cjs / loader.js:879:14)在 Function.executeUserEntryPoint [作为runMain] (internal / modules / run_main.js:71:12)在 内部/主/run_main_module.js:17:47服务器上的“错误”事件 实例位于:at,位于emissionErrorNT(net.js:1340:8),位于 processticksAndRejections(internal / process / task_queues.js:84:21){ 代码:“ EADDRINUSE”,错误号:“ EADDRINUSE”,系统调用:“监听”,地址: '::',端口:3000} [nodemon]应用程序崩溃-等待文件更改 开始之前...

解决方法

此错误表示3000端口已在使用中,请参考以下答案

How to fix Error: listen EADDRINUSE while using nodejs?

在我的情况下,我遇到了这个问题,然后以调试模式(使用端口3000)启动了应用程序。我通过重新启动解决了此问题,这不是正确的方法。我建议上面的答案。