1

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

我查看了文档,但没有运气。wamp-proto 真的支持这样的事情吗?如果是这样,有任何指示吗?

4

1 回答 1

3

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

这在 WAMP 使用相同的 URI 的过程中是不可能的。

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

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

于 2016-11-10T12:20:21.763 回答