多客户端RPC

时间:2016-11-09 19:07:57

标签: c# crossbar wamp-protocol wampsharp

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

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

1 个答案:

答案 0 :(得分:3)

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

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/