在 CentOS 上,使用 websocket 在 2 个不同端口上启动 nodejs 服务器,给出 EADDRINUSE 9856

在 CentOS 上,使用 websocket 在 2 个不同端口上启动 nodejs 服务器,给出 EADDRINUSE 9856

我在同一台计算机上使用 2 个不同的节点服务器进行测试和生产。
当我启动第一个服务器时,它运行正常,但当我启动第二个服务器时,它出现以下错误:

events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::9856
    at Server.setupListenHandle [as _listen2] (net.js:1327:14)
    at listenInCluster (net.js:1375:12)
    at Server.listen (net.js:1462:7)
    at new WebSocketServer (D:\redheal\chat\node_modules\reload\node_modules\ws\lib\websocket-server.js:68:20)
    at startWebSocketServer (D:\redheal\chat\node_modules\reload\lib\reload.js:109:13)
    at reload (D:\redheal\chat\node_modules\reload\lib\reload.js:99:5)
    at module.exports (D:\redheal\chat\node_modules\reload\index.js:4:10)
    at Object.<anonymous> (D:\redheal\chat\index.js:1185:1)
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
    at startup (internal/bootstrap/node.js:238:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
Emitted 'error' event at:
    at Server.emit (events.js:182:13)
    at emitErrorNT (net.js:1354:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:746:11)
    at startup (internal/bootstrap/node.js:238:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在这个项目中我使用socket.iomysqlmongodb连接。

答案1

问题不在于 socket.io,而在于每次都使用相同端口重新加载库。删除该依赖项后,它就可以正常工作了。

相关内容