问题标签 [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.
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上运行良好
crossbar - Crossbar Thruway 工人撞车
我有一个带有 PHP Thruway 工作人员的 Crossbar.io 服务器。最近,我开始收到以下错误。现在大约每天发生一次:
有谁知道防止这种情况发生?
如果在这种情况下失败,我如何自动重新启动工作人员?
websocket - 带有中间证书和交叉签名证书的 Crossbar SSL/TLS 配置
使用最新版本的Crossbar(0.13,从apt-get
Ubuntu 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 提供的两个证书的配置不适用于Chrome或Thruway。Chrome 显示错误:
失败:WebSocket 打开握手被取消
使用.crossbar/config.json
下面的文件时。那么,这是我的配置、我的证书还是 Open-SSL 堆栈的其他部分的问题?
(下面的文件已被更改,以删除任何潜在的敏感信息,因此可能看起来由于其他原因无法正常工作。如果连接正常,则底层身份验证和其他组件工作正常,因此请保留有关 TLS 实施的答案/评论。注释不是有效的 JSON,但包含在内,因此读者可以看到正在使用的证书文件)
还有其他问题可以解决与此类似的问题@
php - 添加 wampcra 身份验证后,内部的某些内容无法访问
我刚刚在我的 ThruwayBundle 配置中添加了 wampcra 身份验证,当服务器启动时,thruway:router:start
我的高速公路客户端可以成功连接。但是,当从thruway:process start
日志开始时,会不断附加指示某些内部客户端(使用 PawlTransportProvider)无法连接的输出,因为它也必须使用 wampcra 并且它发送的 hello 消息将“匿名”指定为 auth_id 和空的身份验证方法列表.
- 我怎样才能找出试图以这种方式连接的东西?
- 我如何使它工作,我是否向该客户端添加用户名/密钥,或者我是否必须让领域接受匿名身份验证,或者其他什么?
感谢您对此事的任何见解。(我当然希望有更广泛的文档可用......)
debugging - 如何为 websockets WAMP Thruway 客户端设置调试?
设置
我已经设置了一个订阅公共 websocket 服务器上的服务的 Thruway PHP 客户端。websocket 服务发布一个数据流,当数据进入时由 PHP 客户端处理和修改。
最初,我尝试通过 php 错误日志记录和通过控制台查看 php 计算来调试我的客户端,但是在尝试调试频繁更新的信息表时,这很乏味。
我考虑过创建一个 html 客户端,该客户端可以以图形化的方式输出调试数据。这就是我卡住的地方。
问题
是否可以创建一个与公共 websocket 服务连接的 websocket 路由器?是否可以按照以下方式设置系统?
如果不可能,有没有更好的方法可以调试我的数据?
javascript - WebSockets - 棘轮(高速公路)
在 OSX 上使用 Chrome 时连接到 websocket 服务器时出现问题。
- 我们使用这个包:https ://github.com/voryx/Thruway
- 我在这里测试它:http ://websocket.org/echo.html
- 服务器的地址是:
wss://dev.unisim.cz:4444
如果我尝试使用 Firefox 连接到服务器,它运行良好,但如果我使用 Chrome,则会出现错误消息:
WebSocket 握手期间出错:意外响应代码:302。
如果您需要更多信息,请与我们联系。
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 中测试。
任何帮助或提示将不胜感激。
php - 如何使用 Thruway 在服务器端解析消息
我想将 websocket 用于投票应用程序。有两个部分:一个是聊天频道,另一个是命令频道,有关问题、可用答案、倒计时等的信息将在其中传播。
在客户端,我使用Autobahn|JS作为库。我可以轻松订阅我的两个频道(我可以在服务器日志上看到它)
在服务器端,我使用Thruway,因为它符合 WAMP v2。
我的问题:我不知道如何在服务器端挂钩消息以在每个主题上广播它们。似乎很容易,但我可以找到任何解决方案。
我想这是通过使用InternalClient,但我不太确定......
一些代码:
JS 客户端
紧接着,我在聊天框上添加了一个监听器:
PHP 服务器
服务器日志
如果您有任何想法……谢谢!:)
php - 高速公路 js + thruway php 连接建立错误
我正在使用PHP 高速公路库+ autobahn.js。
现在我正在尝试执行高速公路文档中的示例。我运行 aSimpleWebRouter
并尝试使用autobahn.js
.
我将侦听器 ip 更改为0.0.0.0:9090
,但高速公路仍然返回连接建立错误。
无法到达
但是服务器是可以访问的。
php - PHP Thruway 发布变量
我有这个代码。我想做的是传递一个 $d 变量来发布事件,有没有办法做到这一点,我如何使用 Thruway PHP 发布变量数据?