我运行了 Rails 5 Beta 附带的 ActionCable 聊天室示例。Web 应用程序运行良好,数据在 WebSocket 上流动。
wscat但是,当我尝试从命令行直接连接到 WebSocket 时,出现连接错误。
连接wscat尝试:
wscat -c ws://localhost:3000/cable
Run Code Online (Sandbox Code Playgroud)
错误响应:
error: Error: connect ECONNREFUSED
Run Code Online (Sandbox Code Playgroud)
起初,我认为 Rails 伪造保护禁止连接。所以我添加了以下内容config/environments/development.rb:
config.action_cable.disable_request_forgery_protection = true
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了同样的连接错误。
我尝试使用wsd命令行 util 连接到 ActionCable WebSocket。wsd更糟糕的是,它因内核恐慌而崩溃。
我还测试了两者wscat以及wsd其他 WebSocket,包括 WebSocket Echo Test http://www.websocket.org/echo.html,它们工作得很好。
我很困惑。有什么建议么?