Node.js将响应对象句柄的句柄传递给子进程

Sal*_*man 9 javascript http child-process node.js

我有一个http服务器和一个分叉的子进程.我希望父级接收请求并使用传递给分叉进程worker.send.并且worker应该能够使用相同的响应对象处理并将响应发送回请求者.

我尝试在第二个参数中发送响应对象worker.send,但它给出了错误This handle type can't be sent

var child_process = require('child_process');

var worker = child_process.fork(filename);

http.createServer(function (req, res) {
    worker.send({ 'event': 'start' }, res); // send response object
}).listen(4000);
Run Code Online (Sandbox Code Playgroud)

我检查了child_process.js文件,它说如果它不属于某些类型,它将抛出错误.

我想知道是否还有其他选项可以将响应对象发送给分叉的子节点.

编辑:

好的,这是我发现的,我刚刚更改了以下内容

// Instead of
// worker.send({ 'event': 'start' }, res);
worker.send({ 'event': 'start' }, res.socket);
Run Code Online (Sandbox Code Playgroud)

分叉进程能够调用write它获得的处理程序.

这是对的吗?我可以这样使用吗?或者在某些等等条件下是否会产生任何影响?

Ben*_*tes 0

worker.send 仅接受来自 net.createServer 函数的请求。尝试更好地使用“net”包而不是 http。这解决了我的问题