2013-05-23 33 views
11

Tôi đang cố gắng để chạy sau ứng dụng js nút như đã đề cập https://github.com/joyent/node/issues/2194Node js 0.10.7: hỗ trợ cụm cho udp dgram?

var util = require("util"), 
    dgram = require("dgram"), 
    cluster = require('cluster'); 

var udp = dgram.createSocket("udp4"); 
var port = 1190; 

if (cluster.isMaster) { 
    for (i = 0; i < 2; i++) { 
    cluster.fork(); 
    } 
} else { 
    util.log("starting udp server on port " + port); 
    udp.on("error", function (error) { 
    util.log("failed to bind to UDP port - " + error) 
    }); 
    udp.bind(port); 
} 

Ứng dụng lối thoát hiểm ngay lập tức với đầu ra sau đây:

23 May 23:22:13 - starting udp server on port 1190 
23 May 23:22:13 - starting udp server on port 1190 

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: write ENOTSUP - cannot write to IPC channel. 
    at errnoException (child_process.js:980:11) 
    at ChildProcess.target.send (child_process.js:455:16) 
    at Worker.send (cluster.js:401:21) 
    at sendInternalMessage (cluster.js:394:10) 
    at handleResponse (cluster.js:177:5) 
    at respond (cluster.js:192:5) 
    at Object.messageHandler.queryServer (cluster.js:242:5) 
    at handleMessage (cluster.js:197:32) 
    at ChildProcess.EventEmitter.emit (events.js:117:20) 
    at handleMessage (child_process.js:318:10) 

Có ai biết điều gì đang xảy ra vậy? Khi chạy mà không có cluster, mọi thứ đều ổn. Dường như cụm không hỗ trợ udp?

Một số thông số kỹ thuật:

Window 7 x64 
node js 0.10.7 
+0

tôi gặp sự cố tương tự chính xác (đã cố gắng thực hiện 'socket.send (...)' trên ổ cắm udp), hoạt động tốt mà không có môi trường cụm. bạn có gì mới đối với vấn đề đó không? – zaphod1984

+0

có vẻ như nó hoạt động tốt trên Linux nhưng không hoạt động trên các cửa sổ. – zaphod1984

+0

https://gist.github.com/zaphod1984/5668274 – zaphod1984

Trả lời

1

Nó nói trong liên kết của bạn với điều kiện hỗ trợ cho clustering UDP đã được bổ sung trong v0.11.14. Có thể bạn chỉ cần cập nhật phiên bản của node.js