У меня есть сервер http
и раздвоенный дочерний процесс. Я хочу, чтобы родитель получал запросы и переходил на разветвленный процесс, используя worker.send
. и работник должен иметь возможность обрабатывать и отправлять ответ обратно запрашивающему лицу с использованием одного и того же объекта ответа.Node.js передать дескриптор дескриптора объекта ответа дочернему процессу
Я пытался посылать объект ответа во втором параметре 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);
я проверил в child_process.js файл, и он говорит, если он не принадлежит к какой-то из типы, это вызовет ошибку.
Я хочу знать, есть ли другие варианты, с помощью которых я могу отправить объект ответа раздвоенному ребенку.
EDIT:
Хорошо, вот что я нашел, я просто изменил следующий
// Instead of
// worker.send({ 'event': 'start' }, res);
worker.send({ 'event': 'start' }, res.socket);
И раздвоенный процесс может вызвать write
на обработчик он получает.
Верно ли это? Могу ли я использовать его таким образом? или будут какие-либо последствия при некоторых условиях бла-бла?
Hi @ Салман. Получили ли вы решение этой проблемы? Я застрял в той же проблеме. – Sid
Нет, но я думаю, мне удалось решить его каким-то другим способом не с таким подходом. Если у вас есть конкретный вариант использования, который вы можете использовать, вы можете найти решение. –
У меня такая же проблема –