Node子进程

父进程


const child_process = require('child_process');
const exec = child_process.exec;

var child = child_process.fork('C:\\Users\\Tester\\Desktop\\nodeJS\\child_process\\child\\main.js');

// receive child process message
child.on('message', (data) => {
	if(1 == data.onLoad){
		child.send({
			'method': 'startServer',
			'host': '127.0.0.1',
			'port': 3003,
			'targetName': 'getList',
			'returnValue': 3
		});
	}
	else{
		console.log(data);
	}
});

// child process exit
child.on('exit', (data) => {
	console.log(data);
});

子进程


const comm = require('../common/communication.js');
const handler = require('./handler.js');

var targetName;
var returnValue;
process.on('message', (data) => {
	if(data.method && 'startServer' == data.method){
		targetName = data.targetName;
		returnValue = data.returnValue;

		comm.createServer(data.host, data.port, {
			'onListen': function(host, port){
				console.log('Master server started, Host %s, Port %s', host, port);
			},
			'onData': function(socket, data){
				handler.response(socket, data);
			},
			'onError': function(err){
				console.log(err);
			}
		});
	}
	else if(data.method == targetName){
		process.send(returnValue);
		process.exit(0);
	}
	else{
		console.log(data);
	}
});

process.send({'onLoad': 1});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值