多客户端 RPC

Multi client RPC

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

我查看了文档,但没有成功。 wamp-proto 真的支持这样的东西吗?如果是这样,有任何指示吗?

如果我没理解错的话,你想让多个客户端注册同一个程序,然后调用其中的特定程序。

这对于 WAMP 为过程使用相同的 URI 是不可能的。

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

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