Ошибка socket.io при принудительной связи через веб-сокет

У нас возникли проблемы с форсированием связи через веб-сокет в нашем приложении. В основном, когда мы разрешаем опрос, все работает нормально, но время от времени мы видели ошибки при обмене данными через веб-сокет. После некоторых исследований мы изменили конфигурацию на «транспорты»: ['websocket'], upgrade: false

Когда мы перезагружаемся, сокеты больше не работают, и мы получаем ошибки, подобные этой.

WebSocket connection to 'wss://our-server/socket.io/?partnerId=22222&EIO=3&transport=websocket' failed: Compressed bit must be 0 if no negotiated deflate-frame extension

Мы также создали задачу, которую вы можете найти здесь:

https://github.com/socketio/socket.io/issues/2925

Сервер основан на Node.js, а клиент представляет собой ионное приложение с AngularJS.

Кто-нибудь испытывает ту же проблему? Любые идеи, как решить эту проблему?

Спасибо!!!


person José María González Vázquez    schedule 28.04.2017    source источник


Ответы (1)


Оказывается, я неправильно инициализировал клиент веб-сокета.

Я делал:

var socketIo = require('socket.io')(server, {
  path: '/myserver/socket.io',
  transports: ['websocket']
});
var client = socketIo.listen(server, {
  path: '/myserver/socket.io',
  transports: ['websocket']
});

и это работает как шарм:

var client = require('socket.io')(server, {
  path: '/myserver/socket.io',
  transports: ['websocket']
});
person José María González Vázquez    schedule 09.05.2017