问题标签 [thruway]

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

php - 服务器上的 RPCS 在 15-20 分钟的空闲时间后消失

我真的很抱歉我的英语不好。我用 voryx/ThruwayBundle 为 Symfony 创建了简单的 websocket 游戏。游戏使用在服务器上注册的 RPCS。一切正常,但是当我离开大约 20 分钟时,RPCS 不再可用。而且我必须重新启动 websocket 服务器才能使它们再次可用。

我尝试将我的 RPC 注册为工作人员,我可以看到它们正在运行,但它们仍然不可用 websocket 服务器进程状态

我用来注册 RPC 的注解是

我用命令运行服务器

您可以在http://amusement.cloudapp.net/上看到它

如果有帮助,我正在使用在 Microsoft azure 中创建的Ubuntu 15.10服务器

我不知道如何在不重新启动 websocket 服务器的情况下随时使这些 RPC 可用。如果 websocket 服务器停止响应,我是否应该做一些 cron 操作来重置 websocket 服务器,我该怎么做。

编辑#1

RPCS 在我的本地机器Ubuntu 14.04上运行良好

0 投票
1 回答
168 浏览

crossbar - Crossbar Thruway 工人撞车

我有一个带有 PHP Thruway 工作人员的 Crossbar.io 服务器。最近,我开始收到以下错误。现在大约每天发生一次:

有谁知道防止这种情况发生?

如果在这种情况下失败,我如何自动重新启动工作人员?

0 投票
2 回答
1284 浏览

websocket - 带有中间证书和交叉签名证书的 Crossbar SSL/TLS 配置

使用最新版本的Crossbar(0.13,从apt-getUbuntu 14.04 安装)我无法使用 SSL 和中间证书建立连接。

ca_certificates如果我在密钥中没有属性的情况下设置服务器,tls则服务器运行良好,并且可以通过wss协议使用 Google Chrome 建立连接。但是尝试使用thruway建立连接失败并出现以下错误:

无法连接:无法完成 SSL/TLS 握手:stream_socket_enable_crypto():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14094410:SSL 例程:ssl3_read_bytes:sslv3 警报握手失败

与Thruway团队交谈似乎是证书问题 - 在我们的实时站点上,我们使用来自 Gandi 的中间和交叉签名证书,这是某些浏览器所需的,因此是一些 open-ssl 实现所必需的。

似乎虽然浏览器很乐意只使用密钥和证书建立 TLS 连接,但 Thruway 需要一个链。然而,以下使用 Gandi 提供的两个证书的配置不适用于ChromeThruway。Chrome 显示错误:

失败:WebSocket 打开握手被取消

使用.crossbar/config.json下面的文件时。那么,这是我的配置、我的证书还是 Open-SSL 堆栈的其他部分的问题?

(下面的文件已被更改,以删除任何潜在的敏感信息,因此可能看起来由于其他原因无法正常工作。如果连接正常,则底层身份验证和其他组件工作正常,因此请保留有关 TLS 实施的答案/评论。注释不是有效的 JSON,但包含在内,因此读者可以看到正在使用的证书文件)

还有其他问题可以解决与此类似的问题@

  • 这一个处理任何 TLS 错误都会终止 WSS 连接而没有有用错误的事实。
  • 这个专门处理握手取消,但在他们的情况下,它是编译中使用的配置不正确的库,在这种情况下与 Crossbar 无关,因为已从apt-get
0 投票
1 回答
66 浏览

php - 添加 wampcra 身份验证后,内部的某些内容无法访问

我刚刚在我的 ThruwayBundle 配置中添加了 wampcra 身份验证,当服务器启动时,thruway:router:start我的高速公路客户端可以成功连接。但是,当从thruway:process start日志开始时,会不断附加指示某些内部客户端(使用 PawlTransportProvider)无法连接的输出,因为它也必须使用 wampcra 并且它发送的 hello 消息将“匿名”指定为 auth_id 和空的身份验证方法列表.

  • 我怎样才能找出试图以这种方式连接的东西?
  • 我如何使它工作,我是否向该客户端添加用户名/密钥,或者我是否必须让领域接受匿名身份验证,或者其他什么?

感谢您对此事的任何见解。(我当然希望有更广泛的文档可用......)

0 投票
1 回答
338 浏览

debugging - 如何为 websockets WAMP Thruway 客户端设置调试?

设置

我已经设置了一个订阅公共 websocket 服务器上的服务的 Thruway PHP 客户端。websocket 服务发布一个数据流,当数据进入时由 PHP 客户端处理和修改。

最初,我尝试通过 php 错误日志记录和通过控制台查看 php 计算来调试我的客户端,但是在尝试调试频繁更新的信息表时,这很乏味。

我考虑过创建一个 html 客户端,该客户端可以以图形化的方式输出调试数据。这就是我卡住的地方。

问题

是否可以创建一个与公共 websocket 服务连接的 websocket 路由器?是否可以按照以下方式设置系统?

如果不可能,有没有更好的方法可以调试我的数据?

0 投票
1 回答
935 浏览

javascript - WebSockets - 棘轮(高速公路)

在 OSX 上使用 Chrome 时连接到 websocket 服务器时出现问题。

如果我尝试使用 Firefox 连接到服务器,它运行良好,但如果我使用 Chrome,则会出现错误消息:

WebSocket 握手期间出错:意外响应代码:302。

如果您需要更多信息,请与我们联系。

0 投票
1 回答
390 浏览

php - 本地主机上的 Thruway WebSocket 连接

按照https://github.com/voryx/Thruway的说明,我正在尝试在本地主机(Windows)上设置一个 websocket 服务器,这只会给我WebSocket connection to 'ws://127.0.0.1:9090/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

我通过它启动了服务器,> php vendor/voryx/thruway/Examples/SimpleClient.php它给了我以下控制台输出:

2016-11-19T18:58:56.4982780 notice [Thruway\Peer\Client 308] Changing PHP precision from 14 to 16 2016-11-19T18:58:56.5007740 info [Thruway\Peer\Client 308] New client created 2016-11-19T18:58:56.5016600 info [Thruway\Transport\PawlTransportProvider 308] Starting Transport

在客户端,我使用来自https://github.com/crossbario/autobahn-js的推荐示例。哪个应该工作 - 我可以成功连接到测试服务器 ws://demo.thruway.ws:9090。

在 Windows 10 php7 上的最新 Chrome 中测试。

任何帮助或提示将不胜感激。

0 投票
1 回答
761 浏览

php - 如何使用 Thruway 在服务器端解析消息

我想将 websocket 用于投票应用程序。有两个部分:一个是聊天频道,另一个是命令频道,有关问题、可用答案、倒计时等的信息将在其中传播。

在客户端,我使用Autobahn|JS作为库。我可以轻松订阅我的两个频道(我可以在服务器日志上看到它)

在服务器端,我使用Thruway,因为它符合 WAMP v2。

我的问题:我不知道如何在服务器端挂钩消息以在每个主题上广播它们。似乎很容易,但我可以找到任何解决方案。

我想这是通过使用InternalClient,但我不太确定......

一些代码:

JS 客户端

紧接着,我在聊天框上添加了一个监听器:

PHP 服务器

服务器日志

如果您有任何想法……谢谢!:)

0 投票
0 回答
286 浏览

php - 高速公路 js + thruway php 连接建立错误

我正在使用PHP 高速公路库+ autobahn.js

现在我正在尝试执行高速公路文档中的示例。我运行 aSimpleWebRouter并尝试使用autobahn.js.

我将侦听器 ip 更改为0.0.0.0:9090,但高速公路仍然返回连接建立错误。

无法到达

但是服务器是可以访问的。

0 投票
1 回答
104 浏览

php - PHP Thruway 发布变量

我有这个代码。我想做的是传递一个 $d 变量来发布事件,有没有办法做到这一点,我如何使用 Thruway PHP 发布变量数据?