问题标签 [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 回答
176 浏览

c++ - pub 运行速度快于 sub 时内存不足

我正在使用 autobahn-cpp 进行一些 pub&sub 测试。但是,我发现当您以比子端点可以消耗的速度更快的频率发布一些数据时,这将导致路由器(交叉开关)缓存一些数据并且内存使用量增加。最终,路由器将耗尽所有内存并被操作系统杀死。

例如

出版商:

订户:

经过几个houser:

dmsg:

我的问题:

  • 这正常吗(耗尽所有内存并被操作系统杀死)?
  • 或者是否可以设置任何配置选项来限制内存使用?

我发现了一个类似的问题,请参阅链接https://github.com/crossbario/crossbar/issues/48

系统信息:ubuntu 14.04(32bit)、CPython 2.7.6、Crossbar.io 0.11.1、Autobahn 0.10.9

0 投票
1 回答
305 浏览

javascript - 使用 AutobahnJS 客户端连接到 Crossbar 路由器服务器时如何指定客户端的角色/AuthID?

我已经设置了一个具有多个角色的交叉路由器服务器,每个角色都有不同的注册/调用/订阅/发布权限。
然后我使用 AutobahnJS 客户端连接到路由器。但我不知道如何在搜索API 参考页面后指定客户端角色(或路由器确定我的客户端角色的 AuthID?) 。有人对此有任何线索吗?

(PS 默认的“匿名”角色是可以的。)

0 投票
1 回答
448 浏览

crossbar - 我可以使用 crossbar.io 传递二进制消息吗

所以我想通过 websocket 将声音字节从手机传输到服务器。然而,根据http://crossbar.io/docs/Features crossbar 似乎只实现了 json 和 msgpack。我可以使用其他方式通过交叉开关传输二进制消息吗?此外,多个交叉开关客户端(例如)似乎只提供 json 和 webpack 作为反序列化格式。我错过了什么吗?

0 投票
1 回答
642 浏览

python - 在 crossbar.io 中使用内联回调进行扭曲和嵌套延迟

我对 Twisted 和 crossbar.io 比较陌生,我目前正在使用 sqlalchemy 和 alchimia(一个使用 sqlalchemy 和 twisted 的层)进行一些数据库抽象。到目前为止,我构建的数据库抽象按预期工作,但是在我的交叉开关过程中进行异步数据库调用时遇到问题。我想那是因为我嵌套了异步调用,外部调用是一些交叉远程过程,内部是数据库访问。

我想做的是以下内容:

为了能够对用户进行身份验证,我必须等待来自数据库的数据,然后发出有效票证或返回错误。目前我收到一个错误,我无法迭代延迟,因为我不等待数据库查询完成。

现在,我如何在我的登录 RPC 中等待内部 db 调用,然后对用户进行身份验证,然后返回。我知道可以在扭曲中链接异步调用,但我不知道如何在这种特殊情况下使用交叉开关以及当我的外部函数使用@inlineCallbacks快捷方式时执行此操作。

更新:

修补一下,我现在可以向 db 查询添加回调。不幸的是,现在我不知道如何将返回值从内部函数传递给外部函数(外部函数需要返回用户通过身份验证的票证):

我在我的回调函数中尝试过defer.returnValue('user_ticket'),但这给了我一个错误。

0 投票
1 回答
297 浏览

ruby - Ruby wamp-client gem - 连接到 crossbar.io

我是 Ruby 新手

我正在尝试使用 wamp-client gem 建立与 crossbar.io 路由器的连接。Crossbar 具有通过 crossbar 模板(python 作为后端)创建的所有默认设置和应用程序。当我通过浏览器连接时,一切都很好,但是当我尝试通过简单地使用 ruby​​ 时

我有一个 `handle_opening_handshake_response':未处理的打开握手响应 # (Net::WS::Error)' 错误。我知道要处理握手,我的 WAMP 路由器应该发送 HTTP 101 交换协议,但它没有这样做(在 wireshark 中看不到)。请帮帮我。

客户要求:

路由器返回:

0 投票
0 回答
153 浏览

wamp - 在 Ubuntu 14.04 上从 PPA 安装 Crossbar 0.12

我正在使用 Ubuntu PPA for Crossbar并且正在运行0.11.1. 我需要选择使用此版本中似乎不可用的证书链;此时是否有一种简单的机制可以使用 PPA 或手动复制文件进行升级?我之前尝试过其他基于 Pypy 的设置,但对在生产环境中运行它们没有信心。

0 投票
1 回答
1024 浏览

proxy - Crossbar caddy 反向代理

如何使用与交叉路由器通信的 caddy 设置反向代理?

我有一个带有交叉开关路由器的 docker,它在 localhost 8080 上侦听,我使用 caddy 作为反向代理。

在 Caddyfile 下方:

当我尝试连接时,'tcpflow 8080' 什么也不返回。

在 chrome 的标题下方:

回复

要求

框架下方:

和控制台错误:

0 投票
2 回答
306 浏览

django - Crossbar 0.12.1:没有名为 django 的模块 - wsgi 错误

启动交叉开关 0.12.1 时出现错误,而我在 0.11 版本中没有该错误

我没有更改交叉开关更新的任何其他内容。

我的 config.json 仍然是相同的,我的项目的 pythonpath 在选项中:

你有想法吗 ?谢谢。

0 投票
1 回答
710 浏览

python - 用于使用 Crossbar/Autobahn 的用户通知的身份验证?

我目前正在尝试通过 Crossbar/Autobahn 使用 Websockets 实现用户通知系统。我已经完成了多项测试并浏览了文档,但是,我不确定是否有解决方案可以让以下工作流程工作:

  1. 用户使用 Web 应用程序登录——这是通过 JWT 完成的
  2. crossbar前端与正在运行的实例建立 websocket 连接。
  3. 前端尝试订阅专门用于用户通知的 URI:即com.example.notifications.user.23com.example.user.23.notifications'. Where23` 是用户 ID。
  4. 检查用户的 JWT 以查看是否允许用户访问订阅。
  5. 当活动生成并引起通知时,后端会发布用户特定的 URI。

对于第 3 步,我无法判断当前的支持身份验证方法是否满足我的需要。理想情况下,我想要一个可以自定义的身份验证方法(以便在 Crossbar 中实现 JWT 身份验证器),我可以将其应用于 URI 模式,但不能将整个模式的访问权限授予订阅用户。这部分通过动态身份验证方法解决,但缺少后半部分:

例如(我理想的工作流程):

  1. 用户尝试订阅 URI com.example.user.23.notifications
  2. URI 匹配com.example.user..notificationshttp://crossbar.io/docs/Pattern-Based-Subscriptions/中的通配符模式)
  3. 验证令牌已验证,并且用户只能 com.example.user.23.notifications访问.

以上是否可以通过简单的方式实现?据我所知,只有当我以某种方式生成一个.crossbar/config.json包含所有用户 ID 的 URI 排列的...并为每个新用户自动生成一个新配置时才有可能——这完全不是一个合理的解决方案。

任何帮助表示赞赏!

0 投票
1 回答
155 浏览

python - 桥接两个领域/将一个客户端订阅到多个领域

我正在研究设计一个具有两个或多个领域的 WAMP/Crossbar 应用程序;一个领域是用于后端消息传递,而第二个领域本质上是向前端客户端公开一个公共 API。现在,在某些时候,消息需要跨领域,这将需要一个客户端加入两个领域并充当桥梁。

在没有大量向后弯腰的情况下,这是否可行?还是设计方法从一开始就有缺陷,我应该使用特定的主题 URI 来分隔前端和后端?