socket.io не работает с транспортом: ['xhr-polling']

Я пытаюсь протестировать откат к опросу в socket.io, чтобы убедиться, что мое приложение работает с клиентами, которые по какой-либо причине не поддерживают веб-сокеты.

Я использую очень базовый пример сервера / клиента для Express 4. Он отлично работает с:

// client-side
var options = {
   transports: [ 'xhr-polling', 'websocket' ]
};

var socket = io.connect('http://localhost:8080', options);
socket.on('news', function (data) {
  console.log(data);
  socket.emit('my other event', { my: 'data' });
});

Однако, если я удалю «веб-сокет» из транспорта, на стороне клиента ничего не произойдет - ни ошибок, ни событий, ничего. На стороне сервера я вижу только:

Tue, 03 Mar 2015 16:45:49 GMT socket.io:server serve client 304

person George Armhold    schedule 03.03.2015    source источник


Ответы (1)


Я открыл исходный код и обнаружил, что socket.io.js теперь проверяет строку polling вместо xhr-polling. Итак, это работает:

var options = {
   transports: [ 'polling' ]
};
person George Armhold    schedule 03.03.2015