我正在处理远程过程调用,并为此使用一个名为 node-jet 的库。我可以添加方法并可以远程运行它们,但我想问我是否也可以远程添加方法?我向库开发人员询问了这个问题,但无法得到答案,也许这里有人可以帮助我。
fn 是我的函数,peer 是我的peer
var method = new jet.Method(`${this.basePath}` + '/methods/' + method)
.on('call', fn) //function (args) {})
peer.add(method)
最佳答案
据我了解,
您正在寻找双向 RPC,并且目前正在尝试使用node-jet 来实现它,它可能会也可能不会提供它。这意味着您可能必须在 node-jet 之上手动滚动自己的解决方案作为传输。
相反,您可以尝试 Octopus ,作为您的 RPC 层...可以独立,也可以在 node-jet 之上。
我构建它是为了通过 socket.io 和节点子进程解决类似的用例。希望它也能帮助你!
要与node-jet一起使用,您需要构建一个小型自定义适配器来集成node-jet的推送协议(protocol)。有关如何映射 socket.io、websockets 等的示例,请参阅存储库中的 stockTransports.js 文件。
只需要两个映射:
return {
onRecv: // recieve function wrapper
send: // send function wrapper
}
关于javascript - 使用 RPC 时如何添加方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48421132/