websocket-rails: сервер испускает протокол http://; клиент ожидает протокол ws://

Из использования клиента JavaScript:

Обратите внимание на отсутствие префикса протокола в URL сервера. Не добавляйте http:// или ws:// к URL-адресу, который вы передаете новому диспетчеру. WebSocketRails выберет лучший доступный для вас транспорт и автоматически добавит правильный префикс.

Я использую WebSocketRails впервые. Я получаю эту ошибку в клиенте:

Сбой соединения WebSocket с ws://localhost:3000/websocket: соединение закрыто до получения ответа на рукопожатие

Если я перейду в браузере http://localhost:3000/websocketЯ получаю сообщения, которые я ожидаю. Если я перейду к ws URL, я получаю ERR_DISALLOWED_URL_SCHEME, Таким образом, кажется, что сервер создает сообщения, но клиент пытается использовать неправильный протокол.

Как заставить клиента использовать http протокол, а не wsили заставить сервер транслировать его с ws скорее, чем http?

1 ответ

Наконец-то нашел ответ, покопавшись в исходном коде. Второй параметр конструктора называется use_websockets и по умолчанию true, Установка его в false видимо заставляет его использовать http вместо ws,

var dispatcher = new WebSocketRails('localhost:3000/websocket',false);
Другие вопросы по тегам