【问题标题】:Getting websocket error code 1006 when trying to connect to Actioncable server尝试连接到 Actioncable 服务器时出现 websocket 错误代码 1006
【发布时间】:2017-08-27 18:02:18
【问题描述】:

我正在使用 Nativescript/Angular 2 构建一个应用程序,并且我还使用 javascript library 来使用 websockets 将其与 Actioncable Rails 应用程序连接起来。 尝试建立连接时,我在 Nativescript 日志控制台上收到 websocket 错误代码 1006,并且连接被关闭。

我注意到初始 HTTP(握手)请求在标头(actioncable-v1-json,actioncable-unsupported)上发送了两个 Sec-WebSocket-Protocol 值,但响应中的标头只有一个 Sec-值缺少“actioncable-v1-json”和“actioncable-unsupported”的 WebSocket-Protocol。

我认为发生此错误是因为响应中缺少协议。 有谁知道如何将此标头(不支持 actioncable)添加到握手响应中?或任何其他导致此错误的想法?

rails 日志中没有错误,它只是连接然后断开:

Started GET "/v1/cable/" [WebSocket] for 192.168.1.8 at 2017-04-02 17:04:06 -0700
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: upgrade, HTTP_UPGRADE: websocket)
Finished "/v1/cable/" [WebSocket] for 192.168.1.8 at 2017-04-02 17:04:06 -0700

Nativescript 控制台上显示的错误信息是这样的:

CONSOLE LOG file:///app/tns_modules/nativescript-actioncable/lib/action_cable.js:46:33: [ActionCable] Opening WebSocket, current state is null, subprotocols: actioncable-v1-json,actioncable-unsupported 1491179483038
CONSOLE LOG file:///app/tns_modules/nativescript-actioncable/lib/action_cable.js:46:33: [ActionCable] ConnectionMonitor started. pollInterval = 3000 ms 1491179483042
CONSOLE LOG file:///app/tns_modules/nativescript-actioncable/lib/action_cable.js:46:33: [ActionCable] Socket was closed because:    code:  1006 1491179483109

谢谢

【问题讨论】:

  • 运气好不好?
  • 不,我最终切换到了 Socket-io。现在它可以正常工作了。
  • socket-io 客户端与服务器上的 Actioncable ?
  • 由于我忘记启动 redis 服务器,我遇到了同样的错误。 Action Cable 在生产环境中默认使用 redis。检查 config/cable.yml。

标签: ruby-on-rails websocket nativescript error-code actioncable


【解决方案1】:

我遇到了这个问题,问题是 cable.yml 配置。

我们注意到暂存环境的 url 具有以下值:

url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>

删除该值和实际上为我们修复的其他值。

新的 cable.yml 暂存配置:

staging:
  adapter: redis

工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-12
    • 2014-05-03
    • 2019-12-10
    • 2015-05-28
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多