2013-07-16 37 views
7

Tôi có một máy chủ http và một quá trình con chia hai. Tôi muốn phụ huynh nhận được yêu cầu và chuyển sang quy trình chia nhỏ sử dụng worker.send. và nhân viên sẽ có thể xử lý và gửi phản hồi lại cho người yêu cầu bằng cách sử dụng cùng một đối tượng phản hồi.Node.js vượt qua xử lý của xử lý đối tượng phản ứng cho quá trình con

Tôi đã cố gắng gửi đối tượng response trong tham số thứ hai của worker.send, nhưng nó mang lại cho các lỗi 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); 

Tôi đã kiểm tra trong file child_process.js và nó nói nếu nó không thuộc về một số các loại, nó sẽ ném lỗi.

Tôi muốn biết nếu có bất kỳ tùy chọn nào khác mà tôi có thể gửi đối tượng phản hồi cho đứa trẻ được chia nhỏ.

EDIT:

Được rồi, đây là những gì tôi thấy, tôi chỉ thay đổi sau

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

Và quá trình chia hai có thể gọi write về xử lý nó được.

Có đúng không? Tôi có thể sử dụng nó theo cách này không? hoặc sẽ có bất kỳ tác động theo một số điều kiện blah blah?

+1

Xin chào @ Салман. Bạn có nhận được giải pháp nào cho vấn đề này không? Tôi đang mắc kẹt với cùng một vấn đề. – Sid

+0

Không, nhưng tôi nghĩ tôi đã giải quyết nó theo một cách khác không phải với cách tiếp cận này. Nếu bạn có trường hợp sử dụng cụ thể mà bạn có thể chia sẻ, bạn có thể tìm thấy giải pháp. –

+0

Tôi có cùng sự cố –

Trả lời

0

Nhân viên chỉ chấp nhận các yêu cầu đến từ một hàm net.createServer. Hãy thử tốt hơn với gói 'net' thay vì http. Điều này giải quyết được sự cố của tôi

Các vấn đề liên quan