问题标签 [autobahnws]

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

android - 当android应用程序进入后台时Websocket暂停

我的 android 应用程序启动了一个服务,该服务打开一个 websocket 以与远程服务器通信。该服务生成一个线程,其运行方法如下所示。

当我关闭屏幕或将应用程序发送到后台时,logcat 显示循环正在运行,但远程服务器停止接收测试消息。显然,消息在某个地方汇集,因为一旦应用程序回到前台,服务器将收到一堆测试消息。这是 Android 上的预期行为吗?我尝试了不同的 Websocket 包(Autobahn、okhttp3、...),结果是一样的。

0 投票
0 回答
413 浏览

beagleboneblack - Crossbar 说“没有被调用者注册程序”

尽管有两个节点连接到我的本地网络上的交叉路由器,但他们没有看到对方,浏览器控制台说:

浏览器控制台:

横杆版本:

从 crossbar 开始的日志 - 您可以看到后端 python 脚本和浏览器已在底部加入:

我有:

  • 确认两者都在尝试加入相同的 URI: com.at.mcu.e6a003528063
  • 发现将相同的浏览器和 python 代码放在另一台机器上时可以正确连接(运行稍微不同版本的 Debian 的 BeagleBone Black Wireless)。出于这个原因,我认为这与交叉开关的安装和/或配置有关。
  • 在工作机器(可以工作)和非工作机器(不工作)上的新 virtualenv 中从头开始重新创建横杆。
  • 确认 .crossbar/config.json 是相同的。
0 投票
2 回答
93 浏览

autobahn - 使用带有 AutobahnWS 的装饰器方法,如何独立于订阅回调和它的 Session-Reference 发布消息?

在使用 Autobahn 和 WAMP 之前,我一直在使用子类化方法,但偶然发现了装饰器/函数方法,我真的更喜欢子类化。

然而。我有一个从外部硬件(通过回调)调用的函数,该函数需要在被调用时发布到 Crossbar.io 路由器。

这就是我这样做的方式,在调用Session之后保留对权利的引用。on_join -> async def joined(session, details)

这种在组件加入连接后保持引用的方法感觉有点“奇怪”。对此有不同的方法吗?这可以通过其他方式完成。

如果不是这样的话,子类化和在该子类中包含所有应用程序依赖的代码感觉更“正确”(但是将我的应用程序的所有内容都保留在一个子类中也感觉很奇怪)。

0 投票
1 回答
419 浏览

websocket - Websockets:npm 的 Rachet 和 autobahn 是否兼容?

我正在试验Ratchet php 库。特别是,我一直在尝试将他们的推送集成演示集成到 React 应用程序中。

他们的演示引用了一个看似一次性的高速公路 JS 库版本,它与我的服务器实现(几乎是他们的演示的副本)相悖。

但是,当我尝试从 npm 使用高速公路 JS 时,一切都崩溃了。似乎这实现了更新版本的 Web Sockets 协议?

一次性版本的高速公路通行证wamp用于Sec-WebSocket-Protocol标头,Ratchet 似乎支持。高速公路的 npm 版本通过wamp.2.json, wamp.2.msgpack...

挖掘棘轮代码我发现了这个

如果堆栈中的任何组件支持 WebSocket 子协议,则返回每个支持的数组

所以我Ratchet\WebSocket\WsServerInterface在我的组件上实现了

现在连接尝试更进一步,但仍然爆炸

由于违反协议而导致传输失败:意外消息类型 0

然后客户端关闭连接失败

未捕获的 DOMException:无法在“WebSocket”上执行“关闭”:代码必须是 1000,或者介于 3000 和 4999 之间。1002 两者都不是。

这里发生了什么; Ratchet 是否支持旧版本的 Web Socket 协议,或者有没有办法让这两个库成功通信?

0 投票
0 回答
695 浏览

multithreading - 使用 cmake 和 make 编译时出现“Boost”库问题-“未定义的引用错误”

我正在研究 WAMP 和交叉开关。我正在尝试使用cmakemake命令编译和构建可执行文件。运行良好,cmake即在命令期间没有错误,cmake但在make命令期间我面临如下所示的错误。我在编译时遇到了链接 Boost 库,但不知道如何使用cmake.

以下是make的日志:

sudo apt-get install libboost-all-dev我使用“ ”安装了 Boost 库

任何建议都会对我有很大帮助。