我有一个
我尝试在
http
服务器和一个派生的子进程。我希望父进程接收请求并使用worker.send
将其传递给派生进程。工作者应该能够处理并使用相同的响应对象将响应发送回请求者。我尝试在
worker.send
的第二个参数中发送响应对象,但它会出现错误此句柄类型无法发送
。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);
我查看了child_process.js文件,发现如果不属于某些类型,则会抛出错误。
我想知道是否有其他选项可以将响应对象发送到派生的子进程。
编辑:
好的,这是我找到的,我只需更改以下内容
// Instead of
// worker.send({ 'event': 'start' }, res);
worker.send({ 'event': 'start' }, res.socket);
分叉进程能够在其获得的处理程序上调用write
。
这个方法正确吗?我可以这样使用吗?或者在某些情况下会有什么影响吗?