【发布时间】:2017-08-24 19:15:48
【问题描述】:
我有一个注册 RPC 函数的程序,例如。 com.myapp.foo。然后我在几个独立的设备上运行这个程序,所有设备都连接到同一个路由器。
当我启动第二个设备时,它得到一个错误,因为 RPC 功能已经注册(wamp.error.procedure_already_exists)。
这是有道理的,因为路由器需要一个唯一的名称才能正确路由过程调用。但就我而言,
我的第一个想法是每个设备都应该生成一个唯一的过程名称 (com.myapp.device4.foo)。
- 但是,程序如何生成唯一名称(有没有比循环直到找到唯一名称更复杂的方法)?
- 另外,更重要的是,调用者如何发现与特定节点关联的过程名称?例如,调用者希望找到所有启动的设备,然后在每个设备上调用 com.myapp.foo。
我正在使用 python/asyncio 和 javascript,两者都使用高速公路 crossbar.io 服务器。
【问题讨论】: