问题标签 [crossbar]

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 回答
218 浏览

node.js - 使用 crossbar.io 动态添加新的访客工作者

我在考虑当监视目录中有新文件时,crossbar.io 是否能够动态添加访客工作人员。而且我在 crossbar.io 文档中找不到答案。

它正在做广告,Crossbar.io has a multi-node and multi-process architecture.但如果在添加访客工作人员时需要重新启动整个交叉开关实例,我找不到信息。

来宾工作人员的配置如下所示:

当目录“../node”发生变化时,它似乎会重新启动工作程序(当交叉开关实例正在运行时)。但是添加一个全新的工人呢?

是否有必要重新启动交叉开关实例,或者是否有可能在实例运行时加载新的工作人员?

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 投票
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 投票
3 回答
1658 浏览

autobahn - 如何记录/调试 Crossbar 访客工作者?

如何从来宾工作人员那里捕获输出/日志和/或调试它?worker 是一个常规的 Python3 Autobahn WAMP 组件。无论我写什么printraise写什么,stderr都无处可寻;或者我不知道在哪里看。仅当来宾因错误而终止时,才会将任何内容输出到 Crossbar 日志。这是配置:

stdout选项stderr似乎没有任何区别。

版本:

  • Crossbar.io:0.10.1
  • 高速公路|Python:0.9.5
  • 工人:高速公路.asyncio.wamp.ApplicationSession
0 投票
1 回答
431 浏览

python - 具有 Web 套接字客户端的 WSGI 兼容组件?

我正在尝试将 RESTful 响应程序集成到 Crossbar 应用程序中,最合适的似乎是WSGI service。理想情况下,该服务应该是发布/订阅基础设施其余部分的一部分,一方面能够接收WAMP事件,另一方面能够响应 HTTP 请求。

困难在于运行允许异步 Web 套接字事件并另外提供 WSGI 兼容组件的事件循环。在我看来,Pulsar应该能够做到这一点,但我无法弄清楚如何设置它,没有可用的示例准确地展示了这个用例。

上面演示了两个部分,一个 Autobahn WAMP 客户端和一个 Flask WSGI 组件。如何并行运行这两者,允许一个线程通过 HTTP 和 Web 套接字接收事件?我并不特别关心 Python 的版本或底层库(Twisted、asyncio、Pulsar、Flask),我只是想让它以某种方式运行。

0 投票
0 回答
85 浏览

python - 通知在不同机器上运行的其他应用程序实例

我在多台机器上运行 Django 应用程序,比如 m1、m2、m3。

他们都使用托管在my_db_host.com.

我想从 m1 向 m2、m3 实例通知特定的操作/活动。

我已经探索过crossbar.io,但找不到合适的指南来整合它。

请让我知道将消息从一个应用程序实例传递到另一个应用程序实例的最佳方法是什么。

0 投票
1 回答
346 浏览

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

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

0 投票
2 回答
864 浏览

autobahn - connecting autobahn websocket server to crossbar.io router

I have an application that connects to a web page that sends and receives text strings over a websocket on port 1234. I do not have access to the front end code, so I cannot change the HTML front end code. I created an autobahn server with a class derived from WebSocketServer protocol that communicates with the web page over port 1234. This works and I am able to send and receive text to the front end. However, I need to process incoming data and would like to publish the received data to a crossbar.io container through the router on port 8080 (or any other port). The port to the web browser is fixed at 1234. It there a way for me to "plug in " the autobahn websocket server into the crossbar router or is there an alternative way to create a websocket server that will allow me to to send and receive the text on port 1234 and at the same time participate in pub/sub and RPC with the crossbar router?

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 路由器?