"Код неожиданного ответа: 503" в Chrome. Возможно, это связано с сокетом.Ио на героку?

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

2 ответов


Heroku" не поддерживает " websockets на кедровом стеке еще (ни слова о том, когда они будут) обновление: см. ниже. рекомендуют добавление следующего кода в сокет.реализация io:

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

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

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


для людей, поступающих из google в 2016 году.

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

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

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