c# - 多客户端 RPC

标签 c# crossbar wamp-protocol wampsharp

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

我查看了文档,但没有成功。 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/

关于c# - 多客户端 RPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40514246/

相关文章:

c# - SQLiteConnection.BeginTransaction 是否在数据库锁定时重试?

c# - 在 C# 中加载用 python 构建的 keras 模型?

c# - 通过 C# 控制台应用程序运行批处理文件。命令被忽略

javascript - Node js Websocket 路由器

javascript - 高速公路JS : Remote call to asyncronous function

c# - 将 MyGeneration 与 Fluent NHibernate 结合使用

python - 将 Autobahn|Python 与 aiohttp 集成

python - gevent-websocket python WAMP客户端?

node.js - 无法在我的 node.js 项目中的 wamp 套接字中配置 ssl