通常,发布-订阅模式是关于获取内容更新。但是订阅者如何获得订阅更新之前的初始内容?
我正在 autobahn 中使用发布-订阅示例我的应用程序的框架。当关节移动时,发布者后端发布机器人关节的位置。客户端前端有时会稍后订阅该主题。由于数据的性质,客户端上“主题”的初始值与发布者所做的后续更新同样重要。因此,在成功建立连接后,我想获取主题的“当前”值。
框架内是否有某种类型的设计模式可以用来获取“当前”值(订阅之前的值)?我可以想到某种单独的 RPC 服务来获取它,但它似乎将通过单独的传递 channel 。理想情况下,我希望发布者注意到我刚刚订阅并将初始值推送给单个客户端或类似的东西,但这可能要求太多,或者不是吗?
最佳答案
Ideally, I would want for the publisher to notice that I just subscribed and push the initial value to the individual client
这是一个非常好的用例和期望的行为..事实上,它位于 WAMP 高级配置文件的功能列表中:https://github.com/tavendo/WAMP/issues/69
这似乎已经定义得足够清楚,并且在路由器中实现起来并不特别困难..但它需要路由核心中的代码。
关于design-patterns - 在高速公路的 pubsub 中获取初始值的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27641630/