小编Vin*_*oro的帖子

尝试连接到Actioncable服务器时获取websocket错误代码1006

我正在使用Nativescript/Angular 2构建一个应用程序,我也使用javascript 来使用websockets将它连接到Actioncable Rails应用程序.尝试建立连接时,我在Nativescript日志控制台上获得了websocket错误代码1006,并且连接已关闭.

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

我相信这个错误是因为响应中缺少协议而发生的.有谁知道如何将此标题(actioncable-unsupported)添加到握手响应中?或者导致此错误的其他任何想法?

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

谢谢

ruby-on-rails error-code websocket nativescript actioncable

5
推荐指数
1
解决办法
361
查看次数