- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我运行了 Rails 5 Beta 附带的 ActionCable 聊天室示例。 Web 应用程序运行良好,数据在 WebSocket 上流动。
但是,当我尝试从命令行使用 wscat
直接连接到 WebSocket 时,出现连接错误。
wscat
连接尝试:
wscat -c ws://localhost:3000/cable
错误响应:
error: Error: connect ECONNREFUSED
起初,我认为 Rails 伪造保护禁止连接。因此,我将以下内容添加到 config/environments/development.rb 中:
config.action_cable.disable_request_forgery_protection = true
但是,我遇到了同样的连接错误。
我尝试使用 wsd
命令行 util 连接到 ActionCable WebSocket。 wsd
更糟糕,它因内核 panic 而崩溃。
我还使用其他 WebSocket 测试了 wscat
和 wsd
,包括 WebSocket Echo 测试 http://www.websocket.org/echo.html ,而且他们工作得很好。
我被难住了。有什么建议吗?
最佳答案
1) 通过独立服务器启动 ActionCable。 (此步骤需要验证,但由于 ActionCable 文档目前仍不清楚,我将仅列出我为完成此工作所做的步骤)。
在 rails 5.0.0beta1
上运行 bin/cable
应该会在端口 28080 上启动 puma。
(提示:请确保您没有在 config/puma.rb 上运行其他冲突的 puma 进程,因为 puma 将默认加载。当您尝试部署 Rails 应用程序时,您会记住这一点并感谢我)
2) ActionCable::Connection::Base
处理所有传入连接并决定如何识别用户(例如 current_user
)或拒绝未经授权的连接。
在可操作的示例 ( https://github.com/rails/actioncable-examples ) 中,这是由 /app/channels/application_cable/connection.rb
中的 cookie 定义的。
来自 wscat
的 Websocket 连接将在未通过身份验证的情况下被拒绝。您需要对此进行调整以满足您的需求。
ActionCable 还有很多其他“惊喜”。我希望更新这篇文章和/或制作博客文章,记录我让 iOS 客户端与 ActionCable 对话的经验。
祝你好运!
关于websocket - 无法使用 wscat 连接到 Ruby on Rails 5 Beta 上的 ActionCable WebSocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34603745/
我可以使用 wscat 连接到 WS,我可以从控制台发送命令,但我不知道如何从脚本传递命令。 我尝试了几种方法,并且在传递命令之前总是关闭 WAS。 一般来说,我想要一些东西: 1.连接到WS 2.从
我运行了 Rails 5 Beta 附带的 ActionCable 聊天室示例。 Web 应用程序运行良好,数据在 WebSocket 上流动。 但是,当我尝试从命令行使用 wscat 直接连接到 W
我有以下 nodejs 网络套接字服务器 var app = require('express')(); var server = require('http').Server(app); var i
我是一名优秀的程序员,十分优秀!