父进程A创建了子进程B、C,我知道父子进程之间通信很容易,直接发消息就可以,但是子进程B和C之间如何直接通信呢?(不考虑子进程之间直接通过socekt发送消息) //A.js var child= require( 'child_process' ); var B = child.fork( 'B.js' ); var C = child.fork( 'C.js' ); //监听子进程B的消息 B.on( 'message', function( data ) { console.log( 'A收到B的消息:' + data ); });
//父进程A发送消息给子进程B B.send( 'Hello world from A!' );
//监听子进程C的消息 C.on( 'message', function( data ) { console.log( 'A收到C的消息:' + data ); });
//父进程A发送消息给子进程C C.send( 'Hello world from A!' );
回复 (7)
I
引用 hyj1991Egg里面做了一套这样的机制,其实就是通过父进程做转发
@hyj1991 还有没有更好的办法?
I
@Mwangzhi ?
K
node的ipc机制其实还是用了管道,其实管道效率很低的,还不如开个socket。当然了非用管道的话不是没有办法,但是用不了node的ipc api
X
b->a->c 都发给父进程带上target
I
引用 x770158999b a c 都发给父进程带上target
@x770158999 理论上可以,但不是最优解。
H
Egg里面做了一套这样的机制,其实就是通过父进程做转发
I
参与回复
登录后即可参与回复。登录