mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
added fork test
This commit is contained in:
parent
330e537c6a
commit
27b2e135db
2 changed files with 47 additions and 0 deletions
27
fork/child.js
Executable file
27
fork/child.js
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
console.log('spawned');
|
||||
|
||||
process.on('message', function (message, handle) {
|
||||
var pack = message.split(':'),
|
||||
command = pack[0],
|
||||
data = pack[1];
|
||||
|
||||
switch(command) {
|
||||
case 'id':
|
||||
console.log('This is child #' + data);
|
||||
break;
|
||||
|
||||
case 'server':
|
||||
console.log('child #' + data + ' got server.', handle);
|
||||
break;
|
||||
|
||||
case 'socket':
|
||||
console.log('child #' + data + ' got socket.', handle);
|
||||
handle.on('data', onSocketMessage);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function onSocketMessage (data) {
|
||||
console.log('onSocketMessage', data.toString('utf-8'));
|
||||
}
|
||||
20
fork/server.js
Executable file
20
fork/server.js
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
var net = require('net'),
|
||||
fork = require('child_process').fork;
|
||||
|
||||
var children = [];
|
||||
|
||||
var server = net.createServer(function (socket) {
|
||||
|
||||
|
||||
socket.write('Hey Client\r\n');
|
||||
|
||||
var child = fork('child.js');
|
||||
children.push(child);
|
||||
|
||||
child.send('id:' + children.length);
|
||||
child.send('server:handle', server);
|
||||
child.send('socket:handle', socket);
|
||||
});
|
||||
|
||||
server.listen(1337, '127.0.0.1');
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue