1

我的问题非常简单直接。在 RabbitMQ 中,我们可以使用正则表达式或通配符模式(“主题”类型订阅)订阅频道。那么有没有可能在高速公路上实现这一目标?

4

2 回答 2

1

WAMP规范分为两部分:

  1. 基本配置文件,它是稳定且强制的,所有实现都可以完全实现。
  2. 高级配置文件,它正在进行中,这里的特性对于实现来说是可选的。

基于模式的订阅是 WAMP“高级配置文件”的一部分,但在Autobahn WAMP 客户端库或例如Crossbar.io WAMP 路由器(参见此处)中尚未(2015/01 )。

于 2015-01-02T14:33:01.353 回答
1

现在在其自己的文档中更详细地解释了基于模式的订阅,该文档也引用自WAMP IETF 草案。这是一个示例,引用当前 AutobahnJS 参考

基于模式的订阅

默认情况下,订阅中的主题 URI 完全匹配。

订阅时可以通过选项将匹配策略更改为前缀或通配符匹配,例如

session.subscribe('com.myapp', on_event_all, { match: 'prefix' })
session.subscribe('com.myapp..update', on_event_update, { match: 'wildcard' })

在第一种情况下,com.myapp将接收主题包含前缀的所有发布的事件,在第二种情况下,将接收与通配符模式匹配的所有发布的事件,例如 com.myapp.user121.updateand com.myapp.sensor_23.update

鉴于上述示例来自官方 AutobahnJS 文档,我认为 crossbar.io WAMP 路由器现在也必须内置支持。

至于任何其他 WAMP 库,您的里程可能会有所不同。

于 2016-02-29T06:49:02.573 回答