2013-07-16 11 views
7

http sunucum ve çatallı bir alt işlemim var. Ebeveynin istek almasını ve worker.send'u kullanarak çatallı işleme geçmesini istiyorum. ve işçi aynı yanıt nesnesini kullanarak yanıtı talep sahibine geri gönderebilmeli ve gönderebilmelidir.Node.js yanıt nesnesinin ele geçirme tutamacını çocuk işlemine geçiş

Ben worker.send ikinci parametresine tepki nesne gönderme çalıştı

ama 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); 

ben child_process.js dosyasında kontrol hata verir ve bunun bazı aittir yoksa diyor türleri, hatayı atar.

Yanıt nesnesini çatallı çocuğa gönderebileceğim başka bir seçenek olup olmadığını bilmek istiyorum.

DÜZENLEME:

Tamam, burada ne buldum, ben sadece şu

// Instead of 
// worker.send({ 'event': 'start' }, res); 
worker.send({ 'event': 'start' }, res.socket); 

değişti Ve çatallı süreci alır işleyicisi üzerinde write çağrı yapabiliyor.

Doğru mu? Bu şekilde kullanabilir miyim? veya bazı fakir şartlar altında herhangi bir etkisi olacak mı?

+1

Hi @ Салман. Bu problem için herhangi bir çözüm buldunuz mu? Aynı konuda sıkışıp kaldım. – Sid

+0

Hayır, ama bence bu yaklaşımla başka bir şekilde çözmeyi başardım. Paylaşabileceğiniz belirli bir kullanım durumunuz varsa, bir çözüm bulabilirsiniz. –

+0

Aynı sorunu yaşıyorum –

cevap

0

worker.send yalnızca bir net.createServer işlevinden gelen istekleri alır. Http yerine 'net' paketiyle daha iyi çalışın. Bu benim sorunumu çözdü

İlgili konular