2 var PACKETS_PER_WORKER = 10;
4 var assert = require('assert');
5 var cluster = require('cluster');
6 var common = require('../common');
7 var dgram = require('dgram');
10 if (process.platform === 'win32') {
11 console.warn("dgram clustering is currently not supported on windows.");
25 // Start listening on a socket.
26 var socket = dgram.createSocket('udp4');
27 socket.bind(common.PORT);
29 // Disconnect workers when the expected number of messages have been
31 socket.on('message', function(data, info) {
34 if (received == PACKETS_PER_WORKER * NUM_WORKERS) {
35 console.log('master received %d packets', received);
40 // Disconnect all workers.
46 for (var i = 0; i < NUM_WORKERS; i++)
52 // Create udp socket and send packets to master.
53 var socket = dgram.createSocket('udp4');
54 var buf = new Buffer('hello world');
56 for (var i = 0; i < PACKETS_PER_WORKER; i++)
57 socket.send(buf, 0, buf.length, common.PORT, '127.0.0.1');
59 console.log('worker %d sent %d packets', cluster.worker.id, PACKETS_PER_WORKER);