我正在使用远程过程调用,我正在使用名为node-jet的库。我可以添加方法并可以远程运行它们,但我想询问我是否也可以远程添加方法?我向图书馆开发人员提出了这个问题,但无法得到答案,也许有人在这帮助我。
fn是我的职能,同行是我的同伴
var method = new jet.Method(`${this.basePath}` + '/methods/' + method)
.on('call', fn) //function (args) {})
peer.add(method)
答案 0 :(得分:1)
据我了解,
您正在寻找双向 RPC,并且当前正在尝试使用node-jet(可能提供也可能不提供)来实现它。这意味着您可能必须将自己的解决方案作为传输工具投放到node-jet之上。
相反,您可以尝试Octopus,作为RPC层...可以是独立的,也可以是在node-jet之上的。
我建立了它来解决socket.io和node子进程的类似用例。希望它也会对您有帮助!
要与node-jet一起使用,您需要构建一个小型自定义适配器以集成node-jet的推送协议。有关如何映射socket.io,websockets等的示例,请参见回购中的 stockTransports.js 文件。
只需要两个映射:
return {
onRecv: // recieve function wrapper
send: // send function wrapper
}