多客户端RPC

本文关键字:RPC 客户端 | 更新日期: 2023-09-27 18:17:14

我有一个路由器,一个服务器和多个客户端。服务器在路由器中注册方法,客户端成功调用这些方法并获得结果。在某些情况下,我需要服务器向特定的客户机询问一些事情。我已经有了使用WampInvocationContext.Current.InvocationDetailssessionId,但是我不知道客户端需要如何注册它们的方法,也不知道如何从服务器调用它们。

我查阅了文档,但是没有找到。wamp-proto真的支持这样的事情吗?如果有,有什么建议吗?

多客户端RPC

如果我理解正确的话,您希望多个客户端注册相同的过程,然后在其中调用特定的过程。

对于使用相同URI的WAMP,这是不可能的。

对于你想做的事情,预期的方法是使用包含客户端ID的uri,例如,如果你的过程是"com.example"。,客户端将注册"com.example.client_1。calculate_load"(或"com.example.calculate_load.client_1"),您将通过过程URI对客户机寻址。

多个客户端可以在相同的URI下注册相同的过程,但这是为了扩展过程或具有热备用。路由器根据客户端注册的通用策略(例如轮询)来决定调用哪个客户端。见http://crossbar.io/docs/Shared-Registrations/