Node.js 是否有任何方法可以在带有server.listen()的节点js的工作线程中使用parentPort.on()

Node.js 是否有任何方法可以在带有server.listen()的节点js的工作线程中使用parentPort.on(),node.js,express,worker-thread,node-worker-threads,Node.js,Express,Worker Thread,Node Worker Threads,每当我试图使用一个有 工作文件=> parentPort.on('message',msg =>{ //some code here }) 主文件=> server.listen(3000,function(){ console.log('Server running'); }); 如果服务器已在侦听,则会出现此错误 Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 at Server

每当我试图使用一个有
工作文件=>

parentPort.on('message',msg =>{
    //some code here
})
主文件=>

server.listen(3000,function(){
    console.log('Server running');
});
如果服务器已在侦听,则会出现此错误

Error: listen EADDRINUSE: address already in use 127.0.0.1:3000
    at Server.setupListenHandle [as _listen2] (net.js:1314:16)
    at listenInCluster (net.js:1362:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1499:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:68:8)
Emitted 'error' event on Worker instance at:
    at Worker.[kOnErrorMessage] (internal/worker.js:233:10)
    at Worker.[kOnMessage] (internal/worker.js:243:37)
    at MessagePort.<anonymous> (internal/worker.js:164:57)
    at MessagePort.emit (events.js:315:20)
    at MessagePort.onmessage (internal/worker/io.js:78:8)
    at MessagePort.exports.emitMessage (internal/per_context/messageport.js:11:10) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '127.0.0.1',
  port: 3000
}
错误:侦听EADDRINUSE:地址已在使用127.0.0.1:3000
在Server.setupListenHandle[as _listen2](net.js:1314:16)
在ListeniCluster(net.js:1362:12)
在GetAddrInfoReqWrap.doListen[作为回调](net.js:1499:7)
在GetAddrInfoReqWrap.onlookup[as oncomplete](dns.js:68:8)
在以下位置的工作程序实例上发出了“错误”事件:
在工人处。[kOnErrorMessage](内部/Worker.js:233:10)
在Worker[kOnMessage](内部/Worker.js:243:37)
在MessagePort。(内部/worker.js:164:57)
在MessagePort.emit(events.js:315:20)
在MessagePort.onmessage(internal/worker/io.js:78:8)
在MessagePort.exports.emitMessage(内部/per_上下文/MessagePort.js:11:10){
代码:'EADDRINUSE',
errno:-98,
syscall:'listen',
地址:“127.0.0.1”,
港口:3000
}
我尝试过使用MessageChannel(),但它也给出了相同的错误。
您能告诉我错误的原因和纠正方法吗。

eadderinus听起来像是您试图在主文件和工作线程的同一端口上启动新服务器


您需要确保您没有尝试在工作线程中启动服务器,或者如果您希望在工作线程中启动服务器,则它们必须位于唯一的端口上。

eadderinus听起来就像您尝试在主文件和工作线程中的同一端口上启动新服务器


您需要确保您没有尝试在工作线程中启动服务器,或者如果您希望在工作线程中启动服务器,则它们必须位于唯一的端口上。

您能否显示更多代码,以便我们能够实际重现您的问题?请参阅。eadderinus听起来像是在尝试在主文件和工作线程的同一端口上启动新服务器。你不能那样做。每个端口一台服务器。感谢worker中有一个实例再次调用主文件并创建循环,因此尝试再次创建服务器。:)你能展示更多的代码,这样我们就能重现你的问题了吗?请参阅。eadderinus听起来像是在尝试在主文件和工作线程的同一端口上启动新服务器。你不能那样做。每个端口一台服务器。感谢worker中有一个实例再次调用主文件并创建循环,因此尝试再次创建服务器。:)