我有一个路由器、一个服务器和多个客户端。服务器在路由器中注册方法,客户端成功调用方法并得到结果。在某些情况下,我需要服务器向特定的客户询问一些事情。我已经有了sessionId
using WampInvocationContext.Current.InvocationDetails
,但我不知道客户端需要如何注册他们的方法,也不知道如何从服务器调用它们。
我查看了文档,但没有运气。wamp-proto 真的支持这样的事情吗?如果是这样,有任何指示吗?
我有一个路由器、一个服务器和多个客户端。服务器在路由器中注册方法,客户端成功调用方法并得到结果。在某些情况下,我需要服务器向特定的客户询问一些事情。我已经有了sessionId
using WampInvocationContext.Current.InvocationDetails
,但我不知道客户端需要如何注册他们的方法,也不知道如何从服务器调用它们。
我查看了文档,但没有运气。wamp-proto 真的支持这样的事情吗?如果是这样,有任何指示吗?
如果我理解正确,您希望多个客户端注册相同的程序,然后调用其中的特定程序。
这在 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/