mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 18:47:35 +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