火狐插件。使用 child_process 与本机应用进行通信

Firefox addon. Communicating using child_process with native app

在此 Link 之后,我创建了一个加载项来启动本机子进程。子进程可以使用进程的 StdOut 将数据发送到扩展,没有问题。但是,当我尝试使用 emit(target,'data', 'the data') 将数据从扩展(附加脚本)发送到本机应用程序时;发出(目标,'end');如 MDN 文档中所述,应用程序似乎只收到一次消息。如果我再次尝试执行 emit(target,'data',..) ; emit(target,'end') ,再次......它不会发送到本机应用程序。我调试了它,看起来在我们 emit('end') 之后,它删除了一些侦听器,下次调用 emit() 时,没有注册的侦听器,它实际上没有调度事件。如果有人能指出我所缺少的东西,我将不胜感激。

发出 end 可能会关闭输出流或类似的东西,所以在您真正永久发送数据之前不要发出 end