Я создаю приложение с использованием Nativescript / Angular 2, а также использую библиотеку javascript. использовать веб-сокеты, соединяющие его с приложением Actioncable Rails. При попытке установить соединение я получаю код ошибки websocket 1006 в консоли журнала Nativescript, и соединение закрывается.
Я заметил, что исходный запрос HTTP (рукопожатие) отправляет два значения для Sec-WebSocket-Protocol в заголовке (actioncable-v1-json, actioncable-unsupported), но заголовки в ответе имеют только одно значение для Sec-WebSocket-Protocol то есть actioncable-v1-json, а actioncable-unsupported отсутствует.
Я считаю, что эта ошибка возникает из-за отсутствия протокола в ответе. Кто-нибудь знает, как добавить этот заголовок (actioncable-unsupported) в ответ на рукопожатие? Или любые другие идеи о том, что вызывает эту ошибку?
В журнале рельсов ошибки нет, просто подключается, а потом отключается:
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
Спасибо