"Неожиданный код ответа: 503" в Chrome. Возможно, связано с socket.io на героку? - программирование

"Неожиданный код ответа: 503" в Chrome. Возможно, связано с socket.io на героку?

Я использую socket.io с node.js на Heroku. Кажется, все работает. Однако в панели браузера Chrome я получаю Unexpected response code: 503. Кто-нибудь знает, что это может означать? Должен ли я беспокоиться об этом? Будет ли это занимать память в браузере? И если да, могу ли я его подавить?

4b9b3361

Ответ 1

Heroku "не поддерживает" веб файлы в стеке Cedar еще (без слов, когда они будут) Обновление: см. ниже. Они рекомендуют добавить следующий код в реализацию Socket.io:

// assuming io is the Socket.IO server object
io.configure(function () { 
  io.set("transports", ["xhr-polling"]); 
  io.set("polling duration", 10); 
});

Причиной этого является то, что Heroku добавляет слой маршрутизации поверх ваших динамиков. Ваш код будет выполнен на сервере, но он не является детерминированным в отношении того, какой сервер он будет. Таким образом, WebSockets не может отправлять данные на "правильный" сервер. Socket.IO перейдет к длинному опросу, который поддерживает соединение через уровень маршрутизации, гарантируя, что события будут выполняться на правильном сервере.

UPDATE: Heroku WebSockets теперь публично бета-версия! Вы можете добавить поддержку WS в свое приложение, выполнив heroku labs:enable websockets -a myapp в своем каталоге приложения.

Ответ 2

Для людей, приезжающих из Google в 2016 году.

Веб-узлы Heroku теперь поддерживаются, нет необходимости включать их. WebSockets на Heroku

Обязательно проверьте свои журналы на Heroku. Я заметил, что ошибка 503 происходит в хроме и после проверки журналов, оказалось, что мое приложение Heroku разбилось. В моем коде произошла ошибка, из-за которой он не отвечал (а не вообще сокет .io)

Исправлен код и 503 ушел!