问题标签 [wamp-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
257 浏览

autobahn - Crossbar.io - 限制用户仅订阅两个主题

我在 Crossbar.io 文档中看到,我们可以将角色设置为仅发布到特定主题。但是我如何设置一个角色来发布完全匹配的两个主题,而不是基于模式的匹配。

0 投票
1 回答
295 浏览

crossbar - 是否有可能在 Crossbar.io 路由器中获得订阅者数量

我正在为我的 node.js 应用程序使用 Crossbar(WAMP 协议)路由器。由于路由器独立于我们的应用程序,我无法使用 Crossbar 执行以下操作。是否有任何官方 API 可用于实现以下功能。

  1. 特定主题的订阅者断开连接通知?
  2. 特定主题的订阅者列表?
  3. 新订阅者订阅特定主题时的新订阅通知。

提前致谢。

0 投票
1 回答
1688 浏览

javascript - 如何为动态聊天室配置 Autobahn(crossbar.io)?

我喜欢 crossbar.io 以及它是如何工作的(个人)。但我想知道我们如何使用 Autobahn(Crossbar.io) 为典型的动态聊天应用程序设置架构。

这里的动态聊天意味着为每个 url 创建单独的聊天室。

例如:http://www.myapplication.com/chat?roomId=123创建一个订阅主题“com.myapp.chat123”的聊天室。

http://www.myapplication.com/chat?roomId=456, 创建一个订阅主题“com.myapp.chat456”的聊天室。

我们需要将聊天消息存储在数据库中以供将来参考,因为 Autobahn 没有消息持久性。

现在我的问题是:

  1. 如果每个聊天室使用单独的主题,那么我们如何订阅服务器中的消息(因为我们现在不能使用 Patterns 订阅)?

  2. 由于我们将为每个房间使用单独的主题,我们如何在 Crossbar.io 中进行身份验证和授权?

  3. 我找不到用于设置此处提到的功能的 Javascript 文档。在哪里可以找到它?

  4. 在这个 SO 答案中,有人提到 crossbar.io 为会话加入或离开路由器提供元事件。有没有办法知道用户何时订阅或取消订阅特定主题而不是路由器加入或离开?

  5. 您能否解释一下如何使用当前版本的 Crossbar.io(在 Javascript、浏览器或 Node.js 中)配置可用的高级配置文件功能?

  6. 你能详细解释一下事件历史功能吗?以及如何配置它?

0 投票
0 回答
275 浏览

rpc - 如何创建 cboden/rachet RPC 实现?

我正在学习 websockets,刚刚学习了如何使用 sub/pub 使用cboden/ratchet 示例推送集成作为我的服务器和我的浏览器的 autobahnjs。我的问题是棘轮或高速公路是否支持 rpc?

如果您有任何来源或示例,我们将不胜感激。干杯!

0 投票
1 回答
180 浏览

licensing - 澄清 crossbario 的许可条件

[2015-01-29 更新]:添加了相关场景的一些细节。

只是为了确保:许可条件是否允许在商业应用程序中分发和部署交叉开关(crossbar.io、wamp、...)堆栈?

鉴于

  1. 我们有一个基于 Web 的商业应用程序,由多个服务器模块组成。
    crossbar.io 可用于在服务器进程和 Web 客户端之间进行通信。
  2. 我们打算开源我们的代码
  3. 我们不会修改 crossbar.io
  4. 但是我们希望将 crossbar.io 与我们的产品一起部署,并使用我们的安装工具进行安装。
  5. 当然,我们会给许可证文件的本地副本提供信用和链接,例如在“关于”框中。

是的,我看过AGPL 3.0,但我不得不承认我不确定我的问题的答案是“是”还是“不是”。

我也知道 mongodb 使用它。从mongodb 许可

为了使上述内容切实可行,我们承诺您使用数据库的客户端应用程序是一项单独的工作。为了促进这一点,mongodb.org 支持的驱动程序(您与应用程序链接的部分)在 Apache 许可下发布,该许可是免费的。
注意:如果您想要一份声明上述承诺的签名信,请联系 MongoDB, Inc.

如果我理解正确,为了在我们的场景中使用 crossbar.io 库,重要的是我们的专有服务器代码被认为是“单独的工作”。

是吗?

0 投票
1 回答
525 浏览

python - 如何创建能够实现在主题中发送消息的方法的高速公路类

我已经实现了以下类:

使用另一个类来设置连接的一些配置细节,该类如下所示:

我有必要定义一种新方法来在特定主题中发布消息,如下所示:

在使用方法 s4_wamp_serv.stard() 启动“高速公路反应堆”后,我会调用此方法。

- - - - - - - - 编辑 - - - - - - - - - - - - - -

经过一些研究,我已经实现了我需要的 websocket 协议,代码如下:

前面的代码工作正常,但我需要翻译它以在 WAMP 协议 insted websocket 上运行。

有谁知道我如何解决?

0 投票
1 回答
2664 浏览

python - 如何创建一个带有两个线程的 python 应用程序,每个线程都有一个高速公路应用程序

我还没有找到任何解决我的问题的方法。我需要创建一个带有两个线程的 python 应用程序,每个线程都使用高速公路库连接到 WAMP 路由器。

跟着我写我的实验代码:

当我启动这个 python 应用程序时,只启动了 thread1,然后当我终止应用程序(ctrl-c)时,会显示以下错误消息:

我需要在一个具有其功能的应用程序中实现,并且它还必须具有一个用于与带有高速公路 python 库的 WAMP 路由器通信的系统。

换句话说,我需要一个能够与 WAMP 路由器通信的解决方案,但同时这个应用程序不必被高速公路部分阻塞(我认为解决方案是启动两个线程,一个线程管理一些功能第二个线程管理高速公路部分)。

使用我之前提出的模式,还有另一个问题,需要在 WAMP 路由器上的特定主题中从“无高速公路线程”中的应用程序部分发送消息,应该使用特定函数调用此功能在不阻塞其他功能的情况下。

我希望我已经提供了所有的细节。

非常感谢您的任何回复

- - - - - - - - - - - - - - - - 编辑 - - - - - - - - - ----------------

经过一些研究,我已经实现了我需要的 websocket 协议,代码如下:

前面的代码工作正常,但我需要翻译它以在 WAMP 协议 insted websocket 上运行。

有谁知道我如何解决?

0 投票
1 回答
346 浏览

crossbar - 横杆订阅/状态存储在哪里?

当订阅由交叉开关创建和维护时,它们存储在哪里?我快速浏览了源代码,并认为它们都存储在本地进程内存中。是对的吗?如果东西存储在内存中,横向扩展模型是什么?连接是否预计会卡在给定节点上?如果连接中断并重新建立或服务器节点脱机怎么办?这些连接是否会丢失所有状态(订阅信息)?

0 投票
1 回答
210 浏览

websocket - 可以在 autobahn.ws 中列出订阅者吗?

目前,我正在我的 webapp 中开发控制台,显示用户正在运行的 *nix 应用程序日志(游戏服务器),我只想确保一个用户无法通过猜测主题名称来访问其他用户控制台。

我正在使用随机生成的 16 个字符 0-9、AZ、az 的字符串,每次刷新页面时都会更改,每个主题名称的有效期为 30 分钟。

crossbar config 中的每个 webapp 用户都可以订阅任何主题。我想为每个用户设置只订阅他/她的控制台主题,但我认为交叉开关的动态配置尚未实现。

这种实现是否足以保护用户的隐私,或者订阅者可以列出其他订阅者,而我使用唯一主题名称的工作毫无意义?

0 投票
1 回答
808 浏览

crossbar - NGiNX 代理后面的 WAMP 路由器/crossbar.io?

如何在 NGiNX 反向代理后面设置 crossbar.io 路由器/WAMP 路由器?