11
私はノードjs 0.10.7: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);
}
アプリは以下の出力を直ちに終了https://github.com/joyent/node/issues/2194を述べたようにノードJSアプリケーション以下を実行しようとしている:
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)
誰もが何が起こっているか知っていますか?クラスタなしでこれを実行すると、すべて正常です。 クラスタはudpをサポートしていないようですか?
一部仕様:
Window 7 x64
node js 0.10.7
私はまったく同じ問題(udpソケットで 'socket.send(...)'を実行しようとしていた)がうまく動いていて、正常に動作していますクラスタ環境なしで実行できます。あなたはその問題に新しい何かを持っていますか? – zaphod1984
それはLinux上でうまく動作しているようですが、Windowsではうまく動作していないようです。 – zaphod1984
https://gist.github.com/zaphod1984/5668274 – zaphod1984