Socket.io плохой запрос с ответом { "code": 0, "message": "Transport unknown" }?

Я пытаюсь запустить socket.io, и я получаю кучу из них:

http://domain.com:8080/socket.io/?EIO=2&transport=polling&t=1401421022966-0 400 (Bad Request) 

Это ответ, который я получаю:

{"code":0,"message":"Transport unknown"}

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

Ответ 1

У меня была такая же проблема, после обновления с 0.9.x оказалось, что моя конфигурация сервера установлена ​​на ['websocket', 'jsonp-polling'], которая была действительной в 0.9, но конфигурация по умолчанию для клиента и сервера теперь ['polling', 'websocket']. Удаление моей конфигурации сервера запустило меня.

Конфигурация теперь зарегистрирована в engine.io(https://github.com/automattic/engine.io), новый транспортный уровень, введенный в 1.0 - в частности, эта строка:
transports ( String): transports to allow connections to (['polling', 'websocket'])

Ответ 2

У меня была такая же проблема после обновления с 0.9.x до 1.x.x. Укорачивая длинную историю, я бы установил транспорты в ['websocket', 'pollling'], а затем ошибку...

когда вы настраиваете свой сервер на использование specefic transpors, вы должны установить ту же конфигурацию на стороне клиента, чтобы...

Сервер

    var io = require('socket.io')(server, {'transports': ['websocket', 'polling']});

клиент

    var io = io( serverUri, {'transports': ['websocket', 'polling']});

Ответ 3

У меня была такая же проблема:

Получив последнюю версию socket-client.js и используя этот файл на клиентах, я решил эту проблему для меня.

Ответ 4

Это случилось со мной, когда я сам выполнил функцию socket.io.js script. Мне пришлось отправить копию node_modules/socket.io/node_modules/socket.io-client/socket.io.js туда, где я ее обслуживал.

Ответ 5

Мое решение состояло в том, чтобы обновить node.js до последнего (0.12.0 на момент публикации). Первоначально node.js был установлен как часть пакета. Как только я удалил, что node.js, исходящий из этого пакета (пакет Aptana 3, node.js был немного позади) и установил последний веб-сайт с node.js, все наконец-то начало работать.

Я экспериментировал с React.js. Я потратил несколько часов на отладку явлений, я нашел ошибки сборки в socket.io, особенно о socket.io-client, он попытался вызвать Visual Studio MSBuild неубедительно. Что печально, ошибка также возникла при использовании node -gyp. Очевидно, что socket.io-client не нужен для запуска/обслуживания моих примеров и кажется, что эти неудачные ошибки (которые заманили меня в бесконечный лес) можно игнорировать.

(Я заметил также модуль при установке webpack-dev-сервера, который является только Darwin (он же Mac OS X). К счастью, это необязательная зависимость. Это пугает: я знаю, что Apple очень хипстер, но большинство мир не Mac.)